您好我想从经度和谷歌地图api做反向geocodoing我应该将LonLat添加到链接以获取JSON结构这是JSON文件的链接http://maps.googleapis.com/maps/api/geocode/json?latlng=34.0235202,-6.8317697&sensor=true 从这个链接我想读取属性
的formatted_address
这是我如何获取JSON文件
。$的getJSON(' http://maps.googleapis.com/maps/api/geocode/json?latlng=&#39 + loca.toString()+'&安培;传感器=真&#39 ;, function(data){ 警报(data.results.formatted_address [0]); }); }
但是它显示了这个错误未捕获的TypeError:无法读取属性' 0'未定义的
感谢您帮助我
答案 0 :(得分:0)
来自api的回应看起来像这样:
{
results: [{
...
formatted_address: "39 Tirle Bank Way, Tewkesbury, Gloucestershire GL20 8ES, UK"
...
},
...
],
status: "OK"
}
当它实际上是一个字符串时,您尝试像formatted_address
一样尝试访问[0]
数组。它的results
是一个数组。如果您只关心第一个结果,这应该对您有用:
$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?latlng='+loca.toString()+'&sensor=true', function(data) {
if (data.status === 'OK') {
alert(data.results[0].formatted_address);
}
else {
alert('Error! ' + data.status)
}
});
答案 1 :(得分:0)
$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?latlng=34.0235202,-6.8317697&sensor=true',
function(data) { alert(data.results[0].formatted_address); });