<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' из неопределенного.
в чем проблема с этим кодом ??? (