<script type="text/javascript">
var GOOGLE_API_KEY = "mykey";
var lat, lng;
var geocoder;
var geoCodingUrl;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}
function successFunction(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var geoCodingUrl = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lng + "&key=" + GOOGLE_API_KEY;
console.log(geoCodingUrl);
var address = result.address_components[4].longname;
if (address == "Mumbai, India") {
window.location = "url";
}
if(address == "Bangalore, India"){
window.location = "url";
}
if(address == "Jaipur, India") {
window.location = "url";
}
else{
window.location = "url";
}
}
function errorFunction() {
alert ("Geocoder failed");
}
</script>
根据Google Maps API文档,geoCodingUrl应该返回一个JSON数组。如何从该数组中检索城市名称?控制台给出一个错误,指出找不到结果变量,如何引用返回的数组?
假设你在这里使用 jquery 是代码
function successFunction(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var geoCodingUrl = "https://maps.googleapis.com/maps/api/geocode/json? latlng=" + lat + "," + lng + "&key=" + GOOGLE_API_KEY;
$.ajax({
url:geoCodingUrl,
method:"GET",
success:function(res){
var result=res.results;
var address = result[0].address_components[4].longname;
if (address == "Mumbai, India") {
window.location = "url";
}
if(address == "Bangalore, India"){
window.location = "url";
}
if(address == "Jaipur, India") {
window.location = "url";
}
else{
window.location = "url";
}
}
})
}