如何撤消在javascript google maps中创建的标记

如何撤消在javascript google maps中创建的标记,javascript,google-maps,Javascript,Google Maps,我用JavaScript制作了一张谷歌地图。当用户左键单击地图时,它将添加一个pin,因此我希望当用户右键单击该标记时将其删除 我现在已经做了,只是添加了标记 <script> var map; function initMap() { var coords; var next = document.getElementById('next');

我用JavaScript制作了一张谷歌地图。当用户左键单击地图时,它将添加一个pin,因此我希望当用户右键单击该标记时将其删除

我现在已经做了,只是添加了标记

 <script>
       
        var map;
        function initMap() {
            var coords;
            var next = document.getElementById('next');
           
          map = new google.maps.Map(document.getElementById('map'), {
            center: {lat: 40.7142700, lng: -74.0059700},
            zoom: 4
          });


          var marker;

map.addListener('click', function(event) {
    let lat = event.latLng.lat();
    let lng = event.latLng.lng();
   placeMarker(event.latLng,map);

  
    
   next.onclick = function() {
    var socket = io.connect("http://localhost:3000");
              if(socket !== undefined)
              {
                console.log('Connected to Live Server');
             socket.emit('pin-coords',{
                 lat:lat,
                 lng:lng
             });

             socket.on('redirect', function(destination) {
                 console.log('am ajuns aici');
                 window.location.href = destination;
             })

            
                  
                 
              }
   };
});



function placeMarker(location,map) {

 if (marker == null)
 {
   marker = new google.maps.Marker({
      position: location,
      map: map
  });

   
} else {   marker.setPosition(location); } }
        }

      </script>
      <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
      async defer>
</script>
    

,但我的函数placeMarker不返回标记,也找不到右键单击的键代码。如果你能帮助我,我将非常高兴和感激。
提前谢谢你

若要在上将标记的映射属性设置为null,请向标记添加事件侦听器以侦听
右键单击事件。在事件侦听器回调函数中,
this
将引用标记,调用
this.setMap(null)

代码片段:

var映射;
函数initMap(){
var-coords;
map=new google.maps.map(document.getElementById('map'){
中心:{
拉脱维亚:40.7142700,
液化天然气:-74.0059700
},
缩放:4
});
var标记;
map.addListener('click',函数(事件){
设lat=event.latLng.lat();
设lng=event.latLng.lng();
地点标记(事件、时间、地图);
});
功能位置标记(位置、地图){
如果(标记==null){
marker=新的google.maps.marker({
位置:位置,,
地图:地图
});
marker.addListener('右键单击',函数(){
此.setMap(null);
})
}否则{
标记器。设置位置(位置);
}
}
}
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}

单击地图以添加标记


请不要在公共网站上共享私有API密钥,并确保按照以下要求对其进行限制:
marker.setMap(null);
marker.addListener('rightclick', function() {
  this.setMap(null);
});