我有这段代码运作良好:
marker.addListener('click', function(){
showInfo(marker, content);
});
marker.addListener('dblclick', function(){
hideInfo();
});
我正在使用两个事件侦听器,一个侦听'click'而另一个侦听'dblclick'。但是,我只想使用一个侦听“click”并获得相同结果的事件侦听器。如何只使用一个“click”事件在showInfo()和hideInfo()函数之间切换?
答案 0 :(得分:1)
您可以使用全局变量来确定信息是可见还是隐藏。
...
var isInfoVisible;
...
然后
marker.addListener('click', function(){
if (isInfoVisible){
isInfoVisible = false;
hideInfo();
} else {
isInfoVisible = true;
showInfo(marker, content);
}
});
OR:
如果你使用infowindow,你可以检查它是否附在地图上。
marker.addListener('click', function(){
if (infowindow.map != null){
infowindow.close();
} else {
infowindow.setContent(content);
infowindow.open(map, marker);
}
});