<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 部分接收 lat lng 信息并使用我数据库中的地址计算直线距离。这部分工作正常。
但是,查看以下代码:
loc1 = searchAddress($('#Q1').val());
我无法将 loc 传递给 loc1。我在 $.post{} 下收到一条错误消息:
未捕获的类型错误:无法调用未定义的方法“lat”。
这段代码有什么问题???:(