Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击时禁用标记_Javascript_Google Maps - Fatal编程技术网

Javascript 单击时禁用标记

Javascript 单击时禁用标记,javascript,google-maps,Javascript,Google Maps,我想在单击标记时禁用它,这样消息就不会重复。 我在另一个类似的问题中发现了这个方法setClickable,但它只会使标记消失,而不会禁用它 <!DOCTYPE html> <html> <head> #map { height: 50%; } /* Optional: Makes the sample page fill the window. */ html, body {

我想在单击标记时禁用它,这样消息就不会重复。

我在另一个类似的问题中发现了这个方法
setClickable
,但它只会使标记消失,而不会禁用它

<!DOCTYPE html>
<html>
  <head>
      #map {
        height: 50%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <div id="box"></div>
    <script>
      function initMap() {
        var myLatlng = {lat: -25.363, lng: 131.044};

        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 4,
          center: myLatlng
        });

        var marker = new google.maps.Marker({
          position: myLatlng,
          map: map,
          title: 'Click to zoom'
        });


        marker.addListener('click', function() {
          var box = document.getElementById("box");
          var para = document.createElement("p");
          var node = document.createTextNode("Paragrap ")
          para.appendChild(node);
          box.appendChild(para);
        });

      }
    </script>
    <script async defer
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB_nzqNDBfJopGdzH2sNBbgHS-iotxkN_c&callback=initMap">
    </script>
  </body>
</html>

#地图{
身高:50%;
}
/*可选:使示例页面填充窗口*/
html,正文{
身高:100%;
保证金:0;
填充:0;
}
函数initMap(){
var Mylatng={lat:-25.363,液化天然气:131.044};
var map=new google.maps.map(document.getElementById('map'){
缩放:4,
中心:myLatlng
});
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“单击以缩放”
});
marker.addListener('click',function()){
var-box=document.getElementById(“box”);
var para=document.createElement(“p”);
var节点=document.createTextNode(“Paragrap”)
子节点(节点)段;
框.儿童(第2段);
});
}

来自:

删除事件侦听器
要删除特定事件侦听器,必须已将其分配给变量。然后可以调用RemovelListener(),传递为其分配侦听器的变量名。

var listener1=marker.addListener('click',a函数)
google.maps.event.removeListener(listener1)

删除eventListener回调函数中的侦听器:

var listener = marker.addListener('click', function() {
  var box = document.getElementById("box");
  var para = document.createElement("p");
  var node = document.createTextNode("Paragrap ")
  para.appendChild(node);
  box.appendChild(para);
  google.maps.event.removeListener(listener);
});
代码片段:

#地图{
身高:50%;
}
html,
身体{
身高:100%;
保证金:0;
填充:0;
}

函数initMap(){
var mylatng={
lat:-25.363,
液化天然气:131.044
};
var map=new google.maps.map(document.getElementById('map'){
缩放:4,
中心:myLatlng
});
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“单击以缩放”
});
var listener=marker.addListener('click',function()){
var-box=document.getElementById(“box”);
var para=document.createElement(“p”);
var节点=document.createTextNode(“Paragrap”)
子节点(节点)段;
框.儿童(第2段);
google.maps.event.RemovelListener(监听器);
});
}

你所说的“禁用”标记是什么意思?比如当你禁用一个按钮,并且在Javascript中不触发点击事件,那么你想删除/禁用点击事件监听器吗?是的,但我不知道怎么做