2012-03-16 184 views
-1

我在我的網站上有一個帶有GPS座標的字段的HTML表單。我如何獲得座標以便我可以在Google地圖上繪製它們,並將它們保存到數據庫中?獲取GPS地圖的GPS座標

+0

確切的座標是什麼?...左上角,中心等。? – Engineer 2012-03-16 20:08:22

+1

你能更清楚地陳述這個問題嗎?你是否接受用戶輸入的座標?或者你想確定用戶的座標? – 2012-03-16 20:08:42

+0

我zqnt用戶點擊地圖和座標到形式 – ziz194 2012-03-17 01:13:45

回答

1

我建議你看一下Google Maps V3 API的Geocoder部分。我自己只是經歷了這個問題。當建立表單,包括隱藏輸入lat和長(無論在你的數據庫的字段名)是這樣的:

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

在您的地址輸入,你會說這樣的事情:

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

您可以在其中包含對稱爲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> 

您可能需要擺弄它一下。一定要在這裏搜索谷歌地理編碼器,因爲我發現我的解決方案與我從這個網站直接得到的零件。

+0

形式的地址字段謝謝,幫助很多:)) – ziz194 2012-03-16 21:25:40

+0

不客氣。歡迎來到堆棧溢出! – huzzah 2012-03-16 21:26:44

+0

對不起,但我如何添加地圖來定位座標 – ziz194 2012-03-17 01:12:46