とにかく、フォームに2つの非表示フィールドを入力して、郵便番号を入力するユーザーから自動的にLat / Longを入力することはできますか?
ユーザーがGoogleマップ上でマーカーをドラッグして場所をプロットすることに頼りたくありません。
前もって感謝します
ロビー
とにかく、フォームに2つの非表示フィールドを入力して、郵便番号を入力するユーザーから自動的にLat / Longを入力することはできますか?
ユーザーがGoogleマップ上でマーカーをドラッグして場所をプロットすることに頼りたくありません。
前もって感謝します
ロビー
英国の郵便番号を緯度と経度に変換するには、GoogleのGeocodingAPIを使用します。
http://maps.googleapis.com/maps/api/geocode/json?address=POSTCODE&sensor=false
JavaScriptで簡単に解析して非表示フィールドに入力できるJSON応答を受け取ります。
JavaScriptを使用してフォームの送信を制御し、基本的にlat/longのフォーム内に2つの非表示フィールドを含めます。したがって、ユーザーが住所/郵便番号などを送信した後、基本的にその情報を使用してGoogleのGeocoding APIにクエリを実行し、目的の緯度/経度を取得します。クエリの後、クエリされたLat / Longを非表示フィールドの値に挿入し、JavaScriptを使用して送信できます。
フォームの非表示フィールドと、フォームの送信ボタンのonclickへのアタッチ機能:
<input type='hidden' name='lat' id='lat' value='' />
<input type='hidden' name='lng' id='lng' value='' />
<input type="button" value="Send" onClick="javascript:querieBeforeSubmit();">
これは、geoapiを照会し、非表示フィールドに値を挿入するJavaScriptです。
<script type='text/javascript'>
function querieBeforeSubmit(){
//queries Google Geoapi w/ address etc
var lat = //retrived lat
var lng = //retrived lng
document.getElementById('lat').value = lat;
document.getElementById('lng').value = lng;
form.submit();
}
</script>
このページをマッシュしてソートしました-http: //gmaps-samples-v3.googlecode.com/svn/trunk/geocoder/getlatlng.html
本当にうまくいきます。