1
我希望我的用户能够在地图上选择一个地方,并返回可以上传到数据库的纬度和经度。任何帮助,将不胜感激从谷歌地图获取经纬度
我希望我的用户能够在地图上选择一个地方,并返回可以上传到数据库的纬度和经度。任何帮助,将不胜感激从谷歌地图获取经纬度
因为你正在处理Google Maps API(基于你的问题的标签),我想利用JavaScript中的内置API功能可能会有所帮助。您可以转到this place开始学习JavaScript,然后您会阅读the API here,最终将能够使用JavaScript自动设置其值已经被JavaScript自动设置的用户的经度和纬度点击地图。
这里有一点你可能要做些什么,但你可能需要学习一些JavaScript来扩展它还是有效地使用它:所以
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
GEvent.addListener(map,"click", function(overlay, latlng) {
if (latlng) {
alert("Latitude : " + latlng.lat() + " , Longitude: " + latlng.lng());
}
});
,假设你创建一个简单的HTML页面用形式持有这样的纬度和经度:
<form action="some_server_side_script_or_path" method="POST" id="map_form">
<!-- display the map -->
<div id="map_canvas"></div>
<label for="mlatitude">Male</label>
<input type="text" name="mlatitude" id="mlatitude" readonly="readonly"/>
<br />
<label for="mlongitude">Male</label>
<input type="text" name="mlongitude" id="mlongitude" readonly="readonly"/>
<br />
<input type="submit" value="Submit Location" />
</form>
然后,通过modfying我们的Clik处理这样,我们就可以自动设置窗体上的经度和纬度,然后让用户只需点击提交将值发布到服务器。
GEvent.addListener(map,"click", function(overlay, latlng) {
if (latlng) {
var lat = document.getElementById("mlatitude");
var lng = document.getElementById("mlongitude");
lat.value = latlng.lat();
lng.value = latlng.lng();
//at this point, you can even use Javascript to auto-submit the form using
//document.forms["map_form"].submit();
}
});
你喜欢什么语言? – Sudantha 2011-04-24 12:06:57
的PHP和HTML?可能是我最好的,但我不是很好在他们 – James 2011-04-24 12:10:20
可能重复的[谷歌地图V3 - 用标记数据填充文本字段?](http://stackoverflow.com/questions/4533303/google-maps-v3-populate-text-字段与标记数据) – ifaour 2011-04-24 12:59:13