簡體   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