我已经创建了一个函数来验证纬度和经度,并根据latlong
返回true和falsefunction 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
}
但它没有正常工作。 请帮帮我。
答案 0 :(得分:0)
你需要的是一个承诺。
geocoder.geocode
将调用远程服务器,执行任务需要时间。由于需要花费大量时间(几秒钟),因此结果将作为回调(AsyncTask)返回。
您可以将逻辑放在AsyncTask中,也可以使用promise。
http://odetocode.com/blogs/scott/archive/2012/06/18/geolocation-geocoding-and-jquery-promises.aspx