Поскольку вы имеете дело с API Карт Google (на основе тега вашего вопроса), я думаю, что использование встроенных возможностей API в JavaScript может помочь. Вы можете перейти к этому месту , чтобы начать изучение 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() );
}
});
Итак, если вы создадите простую 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>
Затем, изменив наш обработчик кликов, как это, мы можем автоматически установить широту и долготу в форме, а затем дать пользователю просто нажать кнопку отправить, чтобы опубликовать значения на сервере.
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();
}
});