0

とにかく、フォームに2つの非表示フィールドを入力して、郵便番号を入力するユーザーから自動的にLat / Longを入力することはできますか?

ユーザーがGoogleマップ上でマーカーをドラッグして場所をプロットすることに頼りたくありません。

前もって感謝します

ロビー

4

3 に答える 3

3

英国の郵便番号を緯度と経度に変換するには、GoogleのGeocodingAPIを使用します。

http://maps.googleapis.com/maps/api/geocode/json?address=POSTCODE&sensor=false

JavaScriptで簡単に解析して非表示フィールドに入力できるJSON応答を受け取ります。

于 2011-02-07T15:55:50.033 に答える
1

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>
于 2011-02-07T16:05:19.673 に答える
1

このページをマッシュしてソートしました-http: //gmaps-samples-v3.googlecode.com/svn/trunk/geocoder/getlatlng.html

本当にうまくいきます。

于 2011-02-15T12:29:59.863 に答える