2011-02-07 137 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>