Javascript 如何删除谷歌地图上的旧标记

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

如何删除旧标记并在google地图上只保留最新标记

我只需要一个标记,不需要数组。 这是代码。

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!!!!哨兵,你真是个编程高手