google api geocoding返回与官方文档不同的json对象

时间:2014-03-11 22:01:40

标签: google-maps-api-3 geocoding

我已成功使用google api进行地理编码,但是当我最初设置它时,我注意到返回的对象与此处的Google文档中描述的不完全相同:https://developers.google.com/maps/documentation/geocoding/#GeocodingResponses

我使用console.dir检查chrome中的对象。

除非我误解(很可能),否则我可以检索所提供地址的纬度和经度,如下所示:

lat = results[0].geometry.location.lat;
lng = results[0].geometry.location.lng;

除了,这不起作用,当我调查时,我发现lat和lng分别位于results[0].geometry.location.dresults[0].geometry.location.e

直到今天它都停止了工作。调查我发现lat& lng正在通过results[0].geometry.location.k& results[0].location.A

据推测,这会在不久之后再次破裂。

如果我检查结果[0] .geometry.location.lat它包含:

function (){
\"use strict\";
return this[a]}

有人认识到了吗?

1 个答案:

答案 0 :(得分:15)

从Javascript-Geocoder的地理编码方法返回的结果已经被翻译为与Javascript-API一起使用(链接文档用于Geocoding-Webservice,而不是Maps-Javascript-API)。

geometry.location不是普通对象,而是google.maps.LatLng

您必须使用lat()的方法lng()geometry.location来检索纬度和经度。

Specification of GeocoderGeometry

在你的情况下,这意味着使用它:

lat = results[0].geometry.location.lat();等。