Javascript 谷歌地图地理编码功能
我已经做了一个函数来验证纬度和经度,并根据latlong返回true和falseJavascript 谷歌地图地理编码功能,javascript,asp.net,google-maps,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.m
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
}
但它并没有起到很好的作用。
请帮帮我。你需要的是一个承诺
geocoder.geocode
,将调用远程服务器,执行任务需要时间。由于需要花费大量时间(几秒钟),因此结果将作为回调返回(AsyncTask)
您可以将逻辑放入AsyncTask中,也可以使用承诺
什么是无效的纬度/经度?当然[-90,+90]的任何纬度和[-180,+180]的任何经度(两者都是度)都是有效的还有,它以什么方式“工作不正常”?如果它将找到该点的任何地址,则此函数将返回true。因此,当存在latlong时,指向任何海洋的点将不会创建任何地址。问题是什么?您的代码非常适合验证。它返回未定义的。