私は経度と緯度のルックアップが次のような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呼び出しを行い、検索用の経度と緯度をデータベースに保存してから、フォームを送信し、保存された経度と緯度でデータベースにクエリを実行することです。どういうわけか、もっと効率的な方法があるに違いないと思います。
ありがとう!スコット