google.maps.Geocoder.geocode()geometry.location lat / lng属性名称经常更改

时间:2012-11-21 17:49:03

标签: google-maps google-maps-api-3 geolocation

我有一个应用程序,我正在使用Google Javascript地理编码API来获取地址的lat / lng。

代码类似于

geocoder = new google.maps.Geocoder()
geocoder.geocode({ 'address': query }, function(results, status) {
    addresses = {};
    $.each(results, function(index, value){
        addresses[index] = {"lat":value.geometry.location.$a,"lng":value.geometry.location.ab}
    })
});

一切都很好,花花公子,但问题是位置对象的属性名称会定期更改。每次他们改变,我的网站都会中断。

两次我不得不更改我的代码以适应google的地理位置api中奇怪的lat / lng属性名称更改。原来是Xa,Ya,然后我不得不改为Ya,Za,现在是$ a,ab。我没有看到这些变化背后有任何用户友好的逻辑。

有没有人知道为什么这些属性名称会发生​​变化,和/或我可以使用什么策略来获取lat / lng,同时避免因这些属性名称更改而导致的问题?

1 个答案:

答案 0 :(得分:93)

使用记录的properties,它们不会更改

geometry.location是一个google.maps.LatLng对象,记录的方法是:

lat()   number  Returns the latitude in degrees.
lng()   number  Returns the longitude in degrees.