Google地图:删除事件触发器上的所有点击事件

时间:2014-08-05 20:19:30

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

我有一个循环标记数组的函数,并为所有标记分配点击事件。

for(var key in markers){
    clickEvent(markers[key], sekolah[j].show, sekolah[j].hide, key);
}

function clickEvent(mark, showArr, hideArr, key){
    var listener = google.maps.event.addListener(mark, 'click', function() {
        //does a lot of stuff
    });
}

我想要做的是在点击任何标记时删除/禁用所有点击事件(这样在没有先重置地图的情况下,不能顺序点击两个标记)。当用户重置地图时,将再次启用点击事件。

这是重置地图的功能:

google.maps.event.addListener(map, "click", function(){
    setAllMap(map);             //Shows all markers
    //and a lot of stuff
});

我尝试过使用addListenerOnce,但这并不奏效。我也从another post尝试了这个建议,但结果与使用addListenerOnce相同。

有没有办法实现这个目标?

谢谢。

PS这是我创建markers

的方式
var newMark = new google.maps.Marker({
    map: map,
    position: pos,
    id: ids,
    title: name,
    icon: "res/schoolf.png"
});;
markers[ids] = newMark;

0 个答案:

没有答案
相关问题