我有一个问题,如果我将地理编码的结果放入一个变量中,该变量返回空。这是我的代码:
地图初始化:
function init_map() {
geocoder = new google.maps.Geocoder();
var center_address = get_long_lat("Salisbury, UK");
var latlng = new google.maps.LatLng(center_address);
var mapOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("gmap"), mapOptions);
}
如您所见,我正在尝试通过使用自定义函数 get_long_lat 将地址转换为 Long 和 Lat 来将地图中心定位到我的家乡:
获得长和纬
function get_long_lat(address) {
var result = "";
geocoder.geocode( { 'address': address, 'region': 'uk' }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
result = results[0].geometry.location;
} else {
result = "Unable to find address: " + status;
}
});
return result;
}
现在,结果作为空字符串返回。但是,如果我要显示 results[0].geometry.location 的警报,它会显示我期望的正确值吗?
为什么它不想返回这个值?