谷歌地图-使用geocoder通过javascript获得long/lat

谷歌地图-使用geocoder通过javascript获得long/lat,javascript,google-maps,Javascript,Google Maps,我试图从GoogleMapsAPI中获取带有地址的经度和纬度值,但是它似乎没有返回任何值。我的语法有问题吗 var point = GClientGeocoder.getLatLng('1600 Pennsylvania Avenue NW Washington, DC 20500'); alert(point); 这是有效的(前提是您拥有正确的API密钥,但受2500个请求/天的速率限制): 您似乎正在调用GClientGeocoder的函数,在该函数中,您需要创建一个新的GClientGe

我试图从GoogleMapsAPI中获取带有地址的经度和纬度值,但是它似乎没有返回任何值。我的语法有问题吗

var point = GClientGeocoder.getLatLng('1600 Pennsylvania Avenue NW Washington, DC 20500');
alert(point);
这是有效的(前提是您拥有正确的API密钥,但受2500个请求/天的速率限制):

您似乎正在调用
GClientGeocoder
的函数,在该函数中,您需要创建一个
新的GClientGeocoder()
,并调用其函数。

尝试如下操作:

geocoder = new GClientGeocoder();
point = geocoder.getLatLng(address)

看起来你使用的是谷歌地图v2版;如果您对使用v3感兴趣(因为Google已经正式弃用了版本2),您可以这样做:

var mygc = new google.maps.Geocoder();
mygc.geocode({'address' : '1600 Pennsylvania Avenue NW Washington, DC 20500'}, function(results, status){
    console.log( "latitude : " + results[0].geometry.location.lat() );
    console.log( "longitude : " + results[0].geometry.location.lng() );
});
它与其他示例类似,只是:

  • 您可以调用新的google.maps.Geocoder()而不是GClientGeocoder()
  • 传入具有“address”属性的对象,而不是字符串本身
  • 结果是一个JSON对象,这意味着您必须以稍微不同的方式访问lat/lng

对于v3,本文提供了更多详细信息。干杯

您是否收到任何错误消息?
var mygc = new google.maps.Geocoder();
mygc.geocode({'address' : '1600 Pennsylvania Avenue NW Washington, DC 20500'}, function(results, status){
    console.log( "latitude : " + results[0].geometry.location.lat() );
    console.log( "longitude : " + results[0].geometry.location.lng() );
});