我正在尝试从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>
有了这个,我试图用lat和lang值传递上面url中的Region名称。
http://services.gisgraphy.com/geoloc/search?lat=-0.0235590&lng=37.9061930&radius=100000
有了这个网址,我试图获得asciiName
但它不起作用,它什么都没显示
我做错了什么。帮我解决我的问题。
感谢。
答案 0 :(得分:1)
以下是您的完整代码详情。您在cntry_code
调用中遗漏了一些变量,例如dataType
和ajax
。如果您的问题已经解决,请接受。
<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>