2012-03-16 32 views
-1

私は自分のウェブサイトにGPS座標があるフィールドを持つHTMLフォームを持っています。座標を取得してGoogleマップにプロットし、データベースに保持できるようにするにはどうすればよいですか?GoogleマップのGPS座標を取得

+0

正確にはどのような座標ですか?...左上のコーナー、センターなど。 – Engineer

+1

あなたは質問をより明確に述べることができますか?ユーザーからの入力として座標を受け入れていますか?または、ユーザーの座標を決定したいですか? –

+0

私は地図上をクリックして座標を入力すると、アドレスフィールドに – ziz194

答えて

1

Google Maps V3 APIのジオコーダセクションを調べることをお勧めします。私はちょうどこの問題を自分で解決しました。フォームを構築するとき、の入力を隠さ含める(何でもあなたのデシベルでのフィールド名)は、このような緯度と長い:

<input name="data[Location][address]" onChange="getLatLong(address)" size="50" maxlength="255" type="text"/> 

:あなたのアドレス入力で

<input type="hidden" name="data[Location][lat]" id="LocationLat"/> 
<input type="hidden" name="data[Location][lon]" id="LocationLon"/> 

は、あなたがこのような何かを言うだろうここでgetLatLong()というjavascript関数の呼び出しをインクルードします。あなたはそれで少し遊んでする必要があるかもしれません

<script type="text/javascript" > 

var geocoder; 
var add = document.getElementById("LocationAddress"); 

function getLatLong(address){ 
geocoder = new google.maps.Geocoder(); 


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

      if (status == google.maps.GeocoderStatus.OK) { 
      document.getElementById("LocationLat").value=results[0].geometry.location.lat(); 
       document.getElementById("LocationLon").value=results[0].geometry.location.lng(); 


      } else { 
      alert("Geocode was not successful for the following reason: " + status); 

} 
    }); 

} 
</script> 


は、ここでの関数の下の例です。 Googleのジオコーダーをここで検索してください。このサイトから直接入手したビットとピースを使って解決策を見つけました。

+0

という形で住所が表示されます。これは多くの役に立ちます:)) – ziz194

+0

ようこそ。スタックオーバーフローへようこそ! – huzzah

+0

すみませんが、座標を見つけるためにマップを追加する方法 – ziz194

関連する問題