【发布时间】:2012-11-10 01:11:14
【问题描述】:
我有一个应用程序,我正在使用 Google Javascript 地理编码 API 来获取地址的纬度/经度。
代码类似于
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 同时避免这些属性名称更改引起的问题?
【问题讨论】:
-
啊,我刚刚在stackoverflow.com/questions/8807141/… 的评论中找到了答案:“Google 地图的地理编码器有时会返回纬度和经度值作为 Pa 和 QA,其他时候是 Sa 和 Ta……唯一的保证方法是使用 geometry.location.lat() 和 geometry.location.lng()"
标签: google-maps google-maps-api-3 geolocation