<script>
var geocoder;
var loc1;
var loc;
$(document).ready(function() {
$("#testForm").submit(function(e) {
e.preventDefault();
loc1 = searchAddress($('#Q1').val());
$.post('demofindcar_p.php',{lat:loc1.lat(),lng:loc1.lng()},function(result){
$('#output').empty().append(result);
});
});
});
// - Functions here - //
function searchAddress(adr) {
geocoder = new google.maps.Geocoder();
geocoder.geocode({address:adr}, function(result){
loc = result[0].geometry.location;
});
return loc;
}
</script>
У меня есть вышеуказанный код. Он состоит из функции searchAddress, которая принимает адрес, введенный пользователем из формы, и возвращает информацию о широте и долготе через переменную «loc».
часть AJAX принимает информацию о широте и долготе и вычисляет расстояния по прямой с помощью адресов в моей базе данных. Эта часть работает нормально.
Однако, глядя на следующий код:
loc1 = searchAddress($('#Q1').val());
Я не могу передать loc в loc1. Я получил сообщение об ошибке в разделе $.post{}:
Uncaught TypeError: невозможно вызвать метод 'lat' из неопределенного.
в чем проблема с этим кодом??? :(