Javascript 如何删除谷歌地图上的旧标记
如何删除旧标记并在google地图上只保留最新标记 我只需要一个标记,不需要数组。 这是代码。Javascript 如何删除谷歌地图上的旧标记,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,如何删除旧标记并在google地图上只保留最新标记 我只需要一个标记,不需要数组。 这是代码。 var映射; 函数初始化(){ var haightAshbury=new google.maps.LatLng(52.62440324134009,4.88054275512695); 变量映射选项={ 缩放:8, 中心:haightAshbury, mapTypeId:google.maps.mapTypeId.ROADMAP }; map=new google.maps.map(documen
var映射;
函数初始化(){
var haightAshbury=new google.maps.LatLng(52.62440324134009,4.88054275512695);
变量映射选项={
缩放:8,
中心:haightAshbury,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map'),
地图选项);
google.maps.event.addListener(映射,'click',函数(事件){
添加标记(事件标记);
});
}
//将标记添加到地图并推送到阵列。
功能添加标记(位置){
var marker=new google.maps.marker({
位置:位置,,
地图:地图
});
var lat=marker.getPosition().lat();
var lng=marker.getPosition().lng();
jQuery(“#lat”).val(lat);
jQuery(“#lng”).val(lng);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
您只需更改现有标记的坐标即可
var marker;
if (marker) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map
});
}
这是文件:
似乎您只需在添加新标记之前删除所有标记,就可以了。如果我理解您的意思,您可以创建一个单击标记,如果您单击它,它会显示在地图上,如果您单击其他地方,它会改变位置:
var clickmarker = new google.maps.Marker({
draggable: false
});
google.maps.event.addListener(map, 'click', function(event) {
clickmarker.setPosition(event.latLng);
clickmarker.setMap(map);
clickmarker.setAnimation(google.maps.Animation.DROP);
var lat = clickmarker.getPosition().lat();
var lng = clickmarker.getPosition().lng();
jQuery("#lat").val(lat);
jQuery("#lng").val(lng)
});
所以你的代码应该是:
<script>
var map;
function initialize() {
var haightAshbury = new google.maps.LatLng(52.62440324134009, 4.88054275512695);
var mapOptions = {
zoom: 8,
center: haightAshbury,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map'),
mapOptions);
var clickmarker = new google.maps.Marker({
draggable: false
});
google.maps.event.addListener(map, 'click', function(event) {
clickmarker.setPosition(event.latLng);
clickmarker.setMap(map);
clickmarker.setAnimation(google.maps.Animation.DROP);
var lat = clickmarker.getPosition().lat();
var lng = clickmarker.getPosition().lng();
jQuery("#lat").val(lat);
jQuery("#lng").val(lng)
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
var映射;
函数初始化(){
var haightAshbury=new google.maps.LatLng(52.62440324134009,4.88054275512695);
变量映射选项={
缩放:8,
中心:haightAshbury,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map'),
地图选项);
var clickmarker=new google.maps.Marker({
可拖动:错误
});
google.maps.event.addListener(映射,'click',函数(事件){
单击Marker.setPosition(事件锁定);
单击Marker.setMap(地图);
单击marker.setAnimation(google.maps.Animation.DROP);
var lat=clickmarker.getPosition().lat();
var lng=clickmarker.getPosition().lng();
jQuery(“#lat”).val(lat);
jQuery(“#lng”).val(lng)
});
}
google.maps.event.addDomListener(窗口“加载”,初始化);
如果将标记推入数组,则可以删除标记。如果数组设置为空,则所有标记均为gonebig ty Masiama!!!!哨兵,你真是个编程高手