0

我正在尝试从 xml 文件中获取城市数据。
下面是一个 XML 响应的 url,我从 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 中传递带有 lat 和 lang 值的区域名称。

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

使用此网址,我试图获取 asciiName。
但它不起作用,它什么也没显示。
我做错了什么。帮我解决我的问题。
谢谢。

4

1 回答 1

1

这是您的完整代码详细信息。您缺少一些变量,例如cntry_codeand dataTypein ajaxcall。如果您的问题得到解决,请接受它。

<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>
于 2013-05-06T11:00:41.050 回答