使用google.load("maps", "3.xx");
不起作用的原因是您提供传感器参数的必要条件必须提供。即google.load('maps','3.6', { other_params: 'sensor=false' });
URL的传感器参数必须包括在内,并且表示 本申请是否使用一个传感器(例如,GPS定位器) 确定用户的位置。我们将此示例作为变量 set_to_true_or_false留下,以强调您必须明确地将此值设置为 true或false。
参见:https://developers.google.com/maps/documentation/javascript/tutorial#Loading_the_Maps_API
总之,我做了使用谷歌地图V3地理编码器与地球API给你看它是如何工作的working example。
而且,这里是地理编码的术语“纽约”,并移动到一旦发现插件和Google地图API已加载的第一个结果的代码示例(以防万一的jsfiddle在未来消失...)
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('earth', '1');
google.load('maps','3.6', { other_params: 'sensor=false' }); // or true
var ge = null; // GEPlugin
var geocoder = null; // GClientGeocoder
var init = function() {
google.earth.createInstance('map3d', initCallback, failureCallback);
};
var initCallback = function(object) {
ge = object;
geocoder = new window.google.maps.Geocoder(); //v3 Geocoder
ge.getWindow().setVisibility(true);
// for example: geocode New York
geocode("New York");
};
var failureCallback = function(error) {
alert("Plugin Error: " + error);
};
var geocode = function(address) {
geocoder.geocode({ 'address': address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
// do something with the result, such as flying to it...
var point = results[0].geometry.location;
var lookat = ge.createLookAt('');
lookat.set(point.lat(), point.lng(), 100, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 1000);
ge.getView().setAbstractView(lookat);
} else {
alert("Geocode Error: " + status);
}
});
};
google.setOnLoadCallback(init);
</script>