每当我进行地理编码并获得结果时,纬度和经度的几何属性名称每个月左右都会更改,我必须重写属性名称以匹配 Google 地理编码器提供给我的数据,以便我可以获取它。曾经的 Ha 和 Ia 现在是用于属性名称的 Ia 和 Ja。但我不能每个月都这样做,因为很快我就必须为客户部署站点,而且我不会再每两秒监视一次。
好的,现在我面临着 V3 地理编码的崩溃,无论如何我可以在 JavaScript 中动态引用结果的属性吗?有没有人遇到过解决方案?
每当我进行地理编码并获得结果时,纬度和经度的几何属性名称每个月左右都会更改,我必须重写属性名称以匹配 Google 地理编码器提供给我的数据,以便我可以获取它。曾经的 Ha 和 Ia 现在是用于属性名称的 Ia 和 Ja。但我不能每个月都这样做,因为很快我就必须为客户部署站点,而且我不会再每两秒监视一次。
好的,现在我面临着 V3 地理编码的崩溃,无论如何我可以在 JavaScript 中动态引用结果的属性吗?有没有人遇到过解决方案?
只需通过将其视为关联数组的位置对象进行枚举,使用
for(i in results[0].geometry.location)
然后检查 i 的值并相应地做我需要做的事情。我知道它可能不会一直以正确的顺序枚举,但它确实是通过动态更改属性键进行枚举的唯一方法。只要 google 不更改对象的“长度”或按字母顺序将 Lng 放在 Lat 之前,我就会被设置。我知道这很脏,不推荐,但我现在没有时间。如果它在未来发生故障,那么我将看看 zigomir 和 user839721 建议的原型继承的位置对象。就按照他们的方式去做。
尝试改用 location.lat() 或 location.lng() 函数。
我认为并希望调用这些函数不会因新版本而中断......
使用 location.lat() 和 location.lng() 为我解决了这个问题。
.lat() 和 .lng() 是返回地理编码结果时可用的方法。在我的 Google Chrome Javascript 控制台中,可以在 results[0].geometry.location 中看到 lat & lng。原型数组。
供参考:http ://code.google.com/apis/maps/documentation/javascript/reference.html#LatLng