50

我有一个应用程序,我正在使用 Google Javascript Geocoding 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}
    })
});

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

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

有谁知道为什么这些属性名称会更改,和/或我可以使用什么策略来获取 lat/lng 同时避免这些属性名称更改引起的问题?

4

1 回答 1

97

使用记录的属性,它们不会改变

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

lat()   number  Returns the latitude in degrees.
lng()   number  Returns the longitude in degrees.
于 2012-11-21T18:13:08.940 回答