如何正确使用 Google Maps API? [复制]

Posted

技术标签:

【中文标题】如何正确使用 Google Maps API? [复制]【英文标题】:How to properly use Google Maps API? [duplicate] 【发布时间】:2013-03-13 20:05:31 【问题描述】:

我发现,在使用 Google Maps API 时,结果会不时发生变化。改变我的意思是响应对象。基本上我正在查询谷歌地图以获取基于用户输入的地点列表(也使用 jQueryUI 自动完成)。我正在尝试正确获取从 Google Maps API 返回的坐标,但包含精确|近似坐标的属性似乎不时发生变化。

例如:在早期,我能够获得像 item.geocode.geometry.location.Yaitem.geocode.geometry.location.Za 这样的坐标。然后我的搜索表单坏了,因为 Google 将其更改为 item.geometry.location.mbitem.geometry.location.nb

关于如何以正确、稳定的方式实现这一点有什么建议吗?

【问题讨论】:

【参考方案1】:

切勿使用您找到的 Maps API 对象的未记录属性。每当修改 Maps API 时,这些都会发生巨大变化。

相反,只使用记录在案的方法和属性。

您的item.geocode.geometry.locationLatLng,因此您可以调用它的.lat().lng() 方法:

var location = item.geocode.geometry.location;
var lat = location.lat();
var lng = location.lng();

【讨论】:

非常感谢!你是对的,+1 并被接受。 在 API V3 中,我使用了:var lat = location.nb; var lng = location.ob; @Imperative - 不,这正是你应该做的。您正在使用在调试器中找到的未记录属性。它们可能在本周工作,但只要 Google 重新编译 Maps API 代码,它们就会随机更改。请改用记录在案的 lat()lng() 方法。 该死,这很容易。谢谢迈克尔!

以上是关于如何正确使用 Google Maps API? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery 隐藏 Google Maps Api 标记

使用 jquery 调整 Google Maps api v3 DIV 的大小 - 磁贴未正确刷新

Google Maps API:返回邮政编码结果

Google Maps API fitBounds 未正确设置缩放

如果指定了邮政地址,如何为 Google Maps JavaScript API 版本 3 设置正确的标题?

Google Maps JavaScript API 警告:NoApiKeys