按钮和Google InfoWindows

时间:2012-10-28 06:48:15

标签: google-maps google-maps-api-3

  

可能重复:
  how to “disable” javascript function after being ran once

我有两个按钮,点击后,运行以下两个功能之一:

 function addlaunchMark() { 
        google.maps.event.addListener(map, "click", function(event) {
          marker = new google.maps.Marker({
          position: event.latLng,
             map: map     
        });
        infowindow.open(map, marker);
        google.maps.event.addListener(infowindow, "closeclick", function() {
        marker.setMap(null);
            });
        });
    };


  function addfishingMark() {       
     google.maps.event.addListener(map, "click", function(event) {
         marker = new google.maps.Marker({
            position: event.latLng,
            map: map
           });
    fishinfowindow.open(map, marker);
    google.maps.event.addListener(fishinfowindow, "closeclick", function() {
    marker.setMap(null);
        });
    });
};

所以当有人点击其中一个按钮时会发生这种情况,它会打开该功能下的动作监听器。如果您单击其他按钮,您已单击的按钮将保持打开状态。因此,当您再次单击时,您将获得两个标记和两个infoWindows。在单击其他按钮后禁用功能或活动侦听器的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

我认为在那种情况下:

 addListenerOnce(instance:Object, eventName:string, handler:Function)

会起作用

更多信息: https://developers.google.com/maps/documentation/javascript/reference#event