как «отключить» функцию javascript после однократного запуска

Таким образом, у меня есть две кнопки HTML, каждая из которых выполняет свою функцию (обе функции ниже). По сути, вы нажимаете одну из двух кнопок, чтобы добавить на карту список действий Google Maps. Я'Мы успешно получили это на работу. Единственная проблема заключается в том, что я хочу, чтобы actionlistener был доступен одним кликом. После этого одного нажатия я хочу, чтобы пользователь должен был нажать еще одну кнопку, прежде чем actionlistener "прослушивает» снова. Я надеюсь, что в этом есть смысл.

    function addLaunch() {
google.maps.event.addListener(map, "click", function(event) {
    marker = new google.maps.Marker({
      position: event.latLng,
      map: map

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

Так что я просто попробовал это:

function addLaunch(setBoolean) {
var clicked = new Boolean(false);
    clicked.boolValue = setBoolean;
if (clicked = true) {
google.maps.event.addListener(map, "click", function(event) {
    marker = new google.maps.Marker({
      position: event.latLng,
      map: map

        });
        infowindow.open(map, marker);
        clicked.boolValue = false;
    });
   }
   else {
   google.maps.event.clearListeners(map, "click");
   }
 };

и это нене работает ..... Пожалуйста, укажите мне в правильном направлении ... (Кстати, кнопка прошла "правда" кsetBoolean.

Это работает, чтобы отключить все actionlisteners после первого щелчка. Но это неСброс после повторного нажатия кнопки.

    var temp = true;
function addLaunch() {
    if (temp == true) {
        google.maps.event.addListener(map, "click", function(event) {
    marker = new google.maps.Marker({
      position: event.latLng,
      map: map

        });
infowindow.open(map, marker);
        temp = false;
        if (temp == false) {
        google.maps.event.clearListeners(map, "click");
                }
        });
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос