<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>
上記のコードがあります。ユーザーがフォームから入力した住所を受け取り、「loc」変数を介して緯度と経度の情報を返す searchAddress 関数で構成されます。
AJAX 部分は緯度経度情報を取り込み、データベース内のアドレスを使用して直線距離を計算します。この部分は正常に動作します。
ただし、次のコードを見てください。
loc1 = searchAddress($('#Q1').val());
loc1 に loc を渡すことができません。$.post{} の下にエラー メッセージが表示されました。
キャッチされていない TypeError: 未定義のメソッド 'lat' を呼び出せません。
このコードの問題は何ですか??? :(