2013-07-05 57 views
-1

我想从一组坐标中获得街道的名称。我可以将如下所示的URL粘贴到我的浏览器中以获取JSON格式的数据。使用jquery,ajax,json和谷歌地图获取街道名称

http://maps.googleapis.com/maps/api/geocode/json?latlng=36.061637909151614,14.215711886063218&sensor=false

然而,当涉及到存储在变量返回的数据,然后提取我感兴趣的特定参数的值,在这种情况下结果/ address_components/LONG_NAME我被卡住。

我发现样本从页面读取代码到一个元素,我发现代码来解析JSON,但我不知道如何把它们放在一起得到我的最终结果,这是一个字符串包含街道名称。

任何帮助将不胜感激。

+0

可我至少知道为什么这个问题被向下投票? – Osprey

回答

1

DEMO

var longName; 
$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?latlng=36.061637909151614,14.215711886063218&sensor=false',function(data){ 
    longName = data.results[0].address_components[0].long_name; 
}); 

$('button').on('click',function(){ 
    alert(longName); 
}); 
1

为此,您可以使用getJSON()方法:

var url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=36.061637909151614,14.215711886063218&sensor=false"; 

$.getJSON(url, function (json) { 
    //console.log("JSON Data: " + json.results); 
    $.each(json.results, function (index, value) { 
     $.each(value.address_components, function (index, value) { 
      console.log(index + ': ' + value.long_name); 
     }); 
    }); 
}); 

FIDDLE DEMO

+0

这两个答案都很好,但我只能选择一个答案。虽然谢谢! – Osprey