0

私は経度と緯度のルックアップが次のようなajax呼び出しでうまく機能しています:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">

var geocoder = new google.maps.Geocoder();
var address = "<?php echo addslashes($_POST['street'].' '.$_POST['house_number'].', '.$_POST['postal_code'].', '.$_POST['city'].', '.$_POST['country']); ?>";

geocoder.geocode( { 'address': address}, function(results, status) {

    if (status == google.maps.GeocoderStatus.OK) {

        var latitude = results[0].geometry.location.lat();
        var longitude = results[0].geometry.location.lng();
        var request_key = '<?php echo $ajax_request_key; ?>';
        var url = '<?php echo $settings['base_url'].'/site/templates/ajax/add_vacancy_latitude_and_longitude.php?vacancy_id='.$_POST['vacancy_id']; ?>';

        //add longitude and latitude to database
        $.post(url, { this_latitude:latitude, this_longitude:longitude, this_request_key:request_key }, function(data) {  });

    }

}); 
</script>

ただし、これはajax呼び出しでのみ機能します。httpリクエストでそれを行う方法はありますか?2番目のページの読み込みを行わなくても、すぐにmysqlデータベースに空席を問い合わせることができます(たとえば、ユーザーが郵便番号を入力する検索フォームがあります。送信するとすぐに、郵便番号の経度と緯度をデータベースと比較します。

私が今考えることができる方法は、jqueryで送信を防ぎ、ajax呼び出しを行い、検索用の経度と緯度をデータベースに保存してから、フォームを送信し、保存された経度と緯度でデータベースにクエリを実行することです。どういうわけか、もっと効率的な方法があるに違いないと思います。

ありがとう!スコット

4

1 に答える 1

1

こんにちはスコットカールを使用する効率的な方法があります。

このように直接http呼び出しを行うことができます

http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false

2つのパラメータをURLに渡す必要があります1.アドレス2.センサー

楽しみ!

  • ダッタ
于 2012-05-02T11:35:40.187 に答える