0
我已经写了一个函数,返回任何GPS坐标传递给该功能,但由于某种原因,它不返回镇的城镇。如果我提醒这个城镇,它会让我看到正确的城镇。谷歌地图地理编码位置不返回镇
代码:
function getTown(latitude,longitude){
// Define Geocoding
var geocoder = new google.maps.Geocoder();
// Using the longitude/latitude get address details
var latlng = new google.maps.LatLng(latitude,longitude);
geocoder.geocode({'latLng': latlng}, function(results, status){
// If response ok then get details
if (status == google.maps.GeocoderStatus.OK) {
var town = results[1].address_components[1].long_name;
return town; // Returns Norwich when alerted using the e.g below.
}
});
}
例子:
getTown(52.649334,1.288052);
这没有什么区别? –
如果你期望的是运行'var town = getTown(52.649334,1.288052);'并且将城镇设置为** Norwich **,那么它的**从不会**发生。对“geocoder.geocode”的调用需要时间。多少时间?每次您调用该方法时,它会有所不同,但在您通过互联网发送请求以从Google获取一些数据时可能需要几百毫秒。您正在使用[异步I/O](http://en.wikipedia.org/wiki/Asynchronous_I/O),这是您编程任务中的一个重要概念。 –
我怎么能立即发出警报,而不是回报它? –