因为您正在处理Google Maps API(基于您的问题标签),我想利用JavaScript中的内置API功能可能会有所帮助.您可以到这个地方开始学习JavaScript,然后在这里阅读API,最后将能够使用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() );
}
});
Run Code Online (Sandbox Code Playgroud)
因此,假设您使用表单创建一个简单的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>
Run Code Online (Sandbox Code Playgroud)
然后,通过像这样修改我们的clik-handler,我们可以在表单上自动设置纬度和经度,然后让用户只需单击submit将值发布到服务器.
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();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3459 次 |
| 最近记录: |