我有一个像这样的JSON -
....
"location" : {
"lat" : 37.42140090,
"lng" : -122.08537010
},
....
我正在尝试访问lat和lng值。我该怎么办?
我的代码
results[0].geometry.location.lat
or results[0].geometry.location.lng
不起作用。但是当我使用结果[0] .geometry.location。
时,我得到了输出更新 -
这就是我向API提出请求的方式
geocoder.geocode( { 'address': search_addr}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var t = results[0].geometry.location.lat;
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
谢谢
答案 0 :(得分:5)
我用
尝试了你的代码alert(json.results[0].geometry.location.lat);
它可以在这个小提琴中看到它的作用:
答案 1 :(得分:3)
使用Google的JavaScript API时,您通常不会直接与解析的JSON进行交互,而是使用 wrapper Object
进行交互。
具体而言,results[0].geometry.location
将是google.maps.LatLng
的一个实例。因此,lat
和lng
不是自己持有值,而是return
值的方法:
var geoLoc = results[0].geometry.location;
var lat = geoLoc.lat();
var lng = geoLoc.lng();