繁体   English   中英

您如何在标记中使用事件侦听器,其事件在侦听时会在两个函数之间切换?

[英]How do you use an event listener in markers whose event toggles between two functions when listened to?

我有这部分代码运行良好:

marker.addListener('click', function(){
    showInfo(marker, content);
});
marker.addListener('dblclick', function(){
    hideInfo();
});

我正在使用两个事件侦听器,一个侦听“click”,另一个侦听“dblclick”。 但是,我只想使用一个事件侦听器来侦听“单击”并获得相同的结果。 如何仅使用一个事件“单击”在showInfo()hideInfo()函数之间切换?

您可以使用全局变量来确定信息是可见的还是隐藏的。

...
var isInfoVisible;
...

那么

marker.addListener('click', function(){
    if (isInfoVisible){
        isInfoVisible = false;
        hideInfo();
    } else {
        isInfoVisible = true;
        showInfo(marker, content);
    }       
});

或:

如果您使用信息窗口,您可以检查它是否附加到地图上。

marker.addListener('click', function(){
    if (infowindow.map != null){
        infowindow.close();
    } else {
        infowindow.setContent(content);
        infowindow.open(map, marker);
    }       
});

https://jsfiddle.net/oxh0gq5w/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM