有没有人注意到谷歌地图地理编码已经将 lat 和 lng 的变量名称从 Qa 和 Ra 更改为 Pa 和 Qa。
有人知道这是什么原因吗?
最佳答案
编辑:如果您使用的是 Google Maps Geocoding Service ,正如@hamczu 所建议的那样,那么你应该得到这样的结果:
{
... snip ...
geometry: {
location: LatLng,
... snip ...
}
}
听起来您没有使用 LatLng
对象的 API 方法,而是试图使用其未记录的属性。你的问题说明了为什么这是一个坏主意的最好原因之一——谷歌代码被压缩和混淆,使用简短的、任意的变量和属性名称,谷歌可能随时重新压缩其代码,任意更改这些名称。它不会改变的是 published API 中的函数和属性名称。 - 这就是从 API 开始的全部意义所在,也是开发人员应该针对 API 而不是当前可用代码的“未记录的功能”进行编码的原因。
所以最好的方法是使用 documented methods :
var lat = result.geometry.location.lat();
var lng = result.geometry.location.lng();
否则,每次 Google 重新压缩其代码时,您的代码都可能会中断。
关于javascript - 谷歌地图地理编码更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8811500/