Google maps api 3 如何正确使用谷歌地图API?
我发现,在使用GoogleMapsAPI时,结果会不时变化。我所说的变化是指响应对象。基本上,我查询谷歌地图是为了根据用户输入(也使用jQueryUI auto complete)获得一个地点列表。我试图正确获取从Google Maps API返回的坐标,但包含精确近似坐标的属性似乎会不时发生变化 例如:在早期,我能够获得坐标,如Google maps api 3 如何正确使用谷歌地图API?,google-maps-api-3,Google Maps Api 3,我发现,在使用GoogleMapsAPI时,结果会不时变化。我所说的变化是指响应对象。基本上,我查询谷歌地图是为了根据用户输入(也使用jQueryUI auto complete)获得一个地点列表。我试图正确获取从Google Maps API返回的坐标,但包含精确近似坐标的属性似乎会不时发生变化 例如:在早期,我能够获得坐标,如item.geocode.geometry.location.Ya和item.geocode.geometry.location.Za。然后我的搜索表单坏了,因为谷歌把
item.geocode.geometry.location.Ya
和item.geocode.geometry.location.Za
。然后我的搜索表单坏了,因为谷歌把它改成了item.geometry.location.mb
和item.geometry.location.nb
关于如何以正确、稳定的方式实现这一点,您有什么建议吗?不要像您找到的那样使用Maps API对象的未记录属性。无论何时修改Maps API,这些都将发生巨大变化 相反,只使用文档化的方法和属性 您的
项.geocode.geometry.location
是一个LatLng
,因此您可以调用其.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代码>@命令-不,这正是你不应该做的。您正在使用在调试器中找到的未记录属性。他们可能会在本周工作,但只要谷歌重新编译地图API代码,他们就会随机改变。使用文档化的lat()
和lng()
方法代替。该死,那很容易。谢谢你,迈克尔!