我希望在调用代码中提到的API后显示纬度和经度。然后我想传递纬度经度值作为参数,以进行另一个API调用以显示格式化地址。但是这个脚本给了我一个错误。
function loadJSON(callback) {
var xobj = new XMLHttpRequest();
xobj.open("GET", "https://maps.googleapis.com/maps/api/geocode/json?address=Pune", true);
xobj.onreadystatechange = function() {
if (xobj.readyState == 4 && xobj.status == "200") {
callback(xobj.responseText);
};
}
xobj.send();
}
function init() {
loadJSON(function(responseText) {
// Parse JSON string into object
var myObj = JSON.parse(responseText);
console.log(myObj.results[0].geometry.bounds.northeast.lat);
var lat=myObj.results[0].geometry.bounds.northeast.lat;
var lon=myObj.results[0].geometry.bounds.northeast.lng;
console.log(myObj.results[0].geometry.bounds.northeast.lng);
address(lat, lon);
});
}
init();
function address(lat, log){
var qstr=lat+","+log
var link="http://maps.googleapis.com/maps/api/geocode/json?latlng="+qstr+"&sensor=true";
console.log(link);
fetchAddress(function(responseText) {
// Parse JSON string into object
var myObj = JSON.parse(responseText);
var adress=myObj.results[0].formatted_address;
console.log(adress);
}, link);
}
function fetchAddress(callback, link) {
var xobj = new XMLHttpRequest();
xobj.open("GET", link, true);
xobj.onreadystatechange = function() {
if (xobj.readyState == 4 && xobj.status == "200") {
callback(xobj.responseText);
};
}
xobj.send();
}
答案 0 :(得分:0)
很可能错误在您的链接中。
使用var link="//maps.googleapis.com/maps/api/geocode/json?latlng="+qstr+"&sensor=true";
而不是指定http或https