Google maps api 3 如何正确使用谷歌地图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。然后我的搜索表单坏了,因为谷歌把

我发现,在使用GoogleMapsAPI时,结果会不时变化。我所说的变化是指响应对象。基本上,我查询谷歌地图是为了根据用户输入(也使用jQueryUI auto complete)获得一个地点列表。我试图正确获取从Google Maps API返回的坐标,但包含精确近似坐标的属性似乎会不时发生变化

例如:在早期,我能够获得坐标,如
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()
方法代替。该死,那很容易。谢谢你,迈克尔!