如何正确使用Google Maps API?

6
我发现,在使用Google Maps API时,结果会不时改变。我的意思是响应对象。基本上,我正在查询Google Maps,根据用户输入(还使用jQueryUI自动完成)获取地点列表。我试图正确地获取从Google Maps API返回的坐标,但包含确切|近似坐标的属性似乎会不时更改。
例如:早些时候,我能够获得像item.geocode.geometry.location.Yaitem.geocode.geometry.location.Za这样的坐标。然后我的搜索表单出问题了,因为Google将其更改为item.geometry.location.mbitem.geometry.location.nb
有没有关于如何正确稳定地实现这个的建议?
1个回答

14

永远不要使用Maps API对象的未记录属性,例如你找到的那些。这些属性将在Maps API进行修订时发生巨大变化。

相反,请仅使用记录在册的方法和属性。

您的item.geocode.geometry.location是一个LatLng,因此您可以调用它的.lat().lng()方法:

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

在 API 的 V3 版本中,我使用了以下代码: var lat = location.nb; var lng = location.ob; - Imperative
4
不,那正是你不应该做的事情。你正在使用在调试器中找到的未记录属性。它们可能在本周有效,但每当谷歌重新编译地图API代码时,它们会随机更改。请改用文档中记录的 lat()lng() 方法。 - Michael Geary
太简单了,谢谢Michael! - Imperative

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接