Я использую геокодер Google Maps, который использует асинхронный, чтобы вернуть значения lat и lng.Работает отлично.Затем я хочу передать эти значения lat lng вызову ajax в моей базе данных для поиска.Я не могу понять, как узнать, когда выполняется асинхронная часть для запуска части AJAX.
lat и lng всегда пустые при запуске.
Есть ли лучший способ сделать это?
function getLatLng(address, fn){
geocoder.geocode( { 'address': address}, function(results, status) {
fn(results[0].geometry.location.lat(),results[0].geometry.location.lng());
});
}
getLatLng(address, function(lat,lng){
var formData = $('#form').serialize();
if (lat!='' && lng!='') {
$.ajax({
type: "POST",
url: "/_templates/map_ajax",
dataType:'json',
data: formData,
error: function() {
$('#status').text('Update failed. Try again.').slideDown('slow');
},
success: function(formData) {
buildMarkers(formData);
}
}); //ajax close
}
}); // close getLatLng