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