无论如何,我可以在一个表单中放入2个隐藏字段,并自动从输入邮政编码的用户中将Lat / Long放入其中吗?
我真的不想依赖用户拖动Google地图上的标记来绘制位置。
提前致谢
罗比
答案 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
工作得很好。