我有以下代码来获取给定地址的经度和经度但是拒绝了google网址的权限。
function getlatlng(address,callback){ var addressval = address; var地址; var url; var googleUrl =“http://maps.google.com/maps/api/geocode/json?”; var sensor =“& sensor = false”;
if (addressval != null && addressval != "" && addressval.length != 0) {
address = "address=" + encodeURIComponent(addressval);
$.ajax({
url: googleUrl + address + sensor,
type: "POST",
async: false,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(longlatJson) {
var jsonObj = JSON.parse(JSON.stringify(longlatJson));
var lat = jsonObj.results[0].geometry.location.lat;
var lng = jsonObj.results[0].geometry.location.lng;
cb(lat, lng);
},
error: function() { alert("unable to conect to google server"); }
});
}
}
这将是我对给定地址的getlatlng的函数调用
getlatlng(地址,函数(lat,lng){ 警报(LAT); 警报(LNG); ............... ...............
});
答案 0 :(得分:1)
我的代码中没有看到任何API密钥的引用;你是否按照你的要求发送了它?
答案 1 :(得分:1)
您不需要v3的密钥。
问题是Google Maps JSON网络服务不使用jsonp,因此您无法使用它,因为您正在使用浏览器的跨域策略。
您需要让服务器执行该请求(通过wget或其他内容),然后将结果传回浏览器,或者使用Google Maps API地理编码器,并为您处理。
您可以在此处阅读更多内容http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding