谷歌地图-使用geocoder通过javascript获得long/lat
我试图从GoogleMapsAPI中获取带有地址的经度和纬度值,但是它似乎没有返回任何值。我的语法有问题吗谷歌地图-使用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
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() );
});