我想用户点击一次,经纬度/ lngs被保存到输入。 (我有这个)。然后他们可以再次点击,下一个经纬度被保存到第二组输入。如果再次点击,第一个标记将被删除并保存新的标记位置。一旦用户满意,他们点击保存,并将2组经纬度保存在数据库中。只需要Google地图上的2个标记。任何以前被删除
我已经足够抓住点击并放置在文本框中保存。但不知道如何做第二个标记并删除第一个,如果我做第三个,依此类推。
//MAP CLICKED
google.maps.event.addListener(map, 'click', function (event) {
marker.setPosition(event.latLng);
map.panTo(event.latLng);
var clickposition = event.latLng;
//MAP CLICKED
google.maps.event.addListener(map, 'click', function (event) {
marker.setPosition(event.latLng);
map.panTo(event.latLng);
var clickposition = event.latLng;
要直观简单的用户案例: 我打开嵌入谷歌地图页面。我点击一条河的一个点。然后我点击沿同一条河流的一个点。可以说我改变了主意,我提出了观点。一次一个,或者只有一个。
编辑:
好吧,我能填补所有4个文本输入,2组不同的纬度/ LNGS作为我点击沿,除了前面的标志仍然在地图上。这是我使用previousMarker全局变量做到的。不知道如何删除以前未使用的标记。
google.maps.event.addListener(map, 'click', function (event) {
marker.setPosition(event.latLng);
map.panTo(event.latLng);
var clickposition = event.latLng;
document.getElementById('lat1').value = clickposition.lat().toFixed(6);
document.getElementById('lng1').value = clickposition.lng().toFixed(6);
if (previousMarker) {
document.getElementById('lat2').value = previousMarker.getPosition().lat();
document.getElementById('lng2').value = previousMarker.getPosition().lng();
}
previousMarker = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(clickposition.lat().toFixed(6), clickposition.lng().toFixed(6))
});
哪里是标记代码? – geocodezip
我将标记的代码放入。 – JustJohn
感谢您的投票。 – JustJohn