Google地图地理编码功能

时间:2015-05-06 06:35:39

标签: javascript asp.net google-maps

我已经创建了一个函数来验证纬度和经度,并根据latlong

返回true和false
function valitdateLatLong(latitude, longitude) {
    latlng = new google.maps.LatLng(latitude, longitude);
    geocoder.geocode({ 'latLng': latlng }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            return true;
        } else {
            return false;
        }
    });
}

我该如何调用此功能? 我用过

if(valitdateLatLong($("#Latitude").val(), $("#Longitude").val())){
    // logic
}
else{
   // logic
}

但它没有正常工作。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

你需要的是一个承诺。

geocoder.geocode将调用远程服务器,执行任务需要时间。由于需要花费大量时间(几秒钟),因此结果将作为回调(AsyncTask)返回。

您可以将逻辑放在AsyncTask中,也可以使用promise。

http://odetocode.com/blogs/scott/archive/2012/06/18/geolocation-geocoding-and-jquery-promises.aspx