Google地图+ Google本地搜索会从英国邮政编码中生成lat / long

时间:2011-02-07 15:34:23

标签: javascript google-maps google-geocoder

无论如何,我可以在一个表单中放入2个隐藏字段,并自动从输入邮政编码的用户中将Lat / Long放入其中吗?

我真的不想依赖用户拖动Google地图上的标记来绘制位置。

提前致谢

罗比

3 个答案:

答案 0 :(得分:3)

要将英国邮政编码转换为纬度和经度,请使用Google's Geocoding API

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

您将收到一个JSON响应,您可以使用JavaScript轻松解析它以填充隐藏的字段。

答案 1 :(得分:1)

我会使用JavaScript来控制表单提交,并且在表单中基本上包含两个隐藏字段,用于lat / long。因此,在用户提交地址/邮政编码等之后,基本上使用该信息并查询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>

答案 2 :(得分:1)

通过粉碎此页面对其进行排序 - http://gmaps-samples-v3.googlecode.com/svn/trunk/geocoder/getlatlng.html

工作得很好。