2013-05-06 185 views
0

我正在嘗試從xml文件中獲取城市數據。
下面是一個XML響應的URL,我從中獲取XML響應/文件的經度和緯度值。
使用URL獲取xml元素值xml

http://maps.googleapis.com/maps/api/geocode/xml?address=Kenya&sensor=true

,這是我的JavaScript代碼: -

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script> 
function load(){ 
     var reg = "Kenya"; 
       alert(reg); 
       var xml; 
       $.ajax({ 
        url: "http://maps.googleapis.com/maps/api/geocode/xml?address="+reg+"&sensor=true", 
        async: false, 
        dataType:'xml', 
        success: function(data) 
       { 
        xml=data; 
       } 
      }); 
       var lat = $(xml).find('lat:eq(0)').text(); 
       var lng = $(xml).find('lng:eq(0)').text(); 
       var radius = "100000"; 
       alert(lat); 
       alert(lng); 
       $.ajax({ 
       url: "http://services.gisgraphy.com/geoloc/search?lat="+lat+"&lng="+lng+"&radius="+radius+"&format=json", 
       async: false, 
       dataType:'jsonp', 
       success: function(data) 
      { 
       var asciiname = data.result[0].asciiName; 
       console.log(asciiname); 
      } 
     }); 
      } 
</script> 
<body onload="load()"> 
</body> 

與此我想與緯度和郎值以上URL傳遞區域的名稱。

http://services.gisgraphy.com/geoloc/search?lat=-0.0235590&lng=37.9061930&radius=100000

有了這個網址,我想獲得asciiName。
但它不工作,它什麼都不顯示。
我做錯了什麼。幫助我解決我的問題。
謝謝。

+0

您在第二個Ajax中有XML解析錯誤。 – 2013-05-06 10:06:32

+0

您需要編寫適當的句子(使用正確的語法),以便任何人都可以首先明白要傳達的內容。 – NullPointer 2013-05-06 10:10:45

+0

@NullVoid對不起我的gammar錯誤... – 2013-05-06 10:27:47

回答

1

以下是您的完整代碼詳細信息。您在ajax調用中缺少一些變量,如cntry_codedataType。如果你的問題解決了,那麼接受它。

<script> 
    function getlg(){ 
      var cntry_code = 'IN'; 
      var reg = 'Rajkot'; 
      var xml; 
      $.ajax({ 
       url: "http://services.gisgraphy.com//geocoding/geocode?address="+reg+"&country="+cntry_code+"&format=json", 
       async: false, 
       dataType:'jsonp', 
       success: function(data){ 
        var id = data.result[1].id; 
        console.log(id); 
        var lat = data.result[1].lat; 
        console.log(lat); 
        var lng = data.result[1].lng; 
        console.log(lng); 
        var radius = "100000"; 
        $.ajax({ 
          url: "http://services.gisgraphy.com/geoloc/search?lat="+lat+"&lng="+lng+"&radius="+radius+"&format=json", 
          async: false, 
          dataType:'jsonp', 
          success: function(data) 
          { 
           for(i=0;i<data.result.length;i++) 
           { 
            var asciiname = data.result[i].asciiName; 
            console.log(asciiname); 
           } 
          } 
        }); 
       } 
      }); 
     } 
</script> 
+0

如何獲取所有asciiname? – 2013-05-06 11:09:47

+0

我已經更新了代碼。我已經添加了'for loop',以便獲取所有asciiName(s)。 – NullPointer 2013-05-06 11:20:50