因此,我有两个html按钮,每个运行不同的函数(两个函数都在下面)。基本上,您可以单击两个按钮中的一个来将Google Maps actionlistener添加到地图。我已经成功地将它工作。唯一的问题是我只希望actionlistener可以一键点击。之后,点击一次,我希望用户必须在actionlistener再次“侦听”之前点击另一个按钮。我希望这是有道理的。如何在运行一次后“禁用”javascript函数
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");
}
});
}
}
解除绑定功能 –
的,如果用'clicked'标志 – jsj