2011-02-07 138 views
0

生成lat/long有反正我可以把2個隱藏的字段放在一個表單中,並自動把緯度/長度從用戶輸入郵政編碼?谷歌地圖+谷歌本地搜索從英國郵政編碼

我真的不想依靠用戶在Google地圖上拖動標記來繪製位置。

在此先感謝

羅比

+0

不太確定,如果我理解你。那麼你如何提示用戶獲得想要投入場地的經緯度? – kjy112 2011-02-07 15:44:33

回答

3

爲英國郵政編碼轉換爲緯度和經度,使用Google's Geocoding API

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

您將收到一個JSON響應,您可以使用JavaScript輕鬆解析以填充隱藏的字段。

1

我會使用JavaScript來控制表單提交,並且基本上包含兩個隱藏的字段在經度/長度的窗體中。因此,在用戶提交地址/郵政編碼等之後,基本上會使用該信息並查詢Google的地理編碼API並檢索您之後的經緯度。查詢後,您可以將查詢的緯度/長度插入到隱藏字段的值中,然後使用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>