我正在尝试使用Popup.on('close')
和Popup.on('open')
来触发某些功能,并且打开事件无法正常工作。
首先加载地图并单击多边形时,不会触发打开或关闭事件。我希望公开活动可以在这里进行。
当单击另一个多边形时,我使用Popup.remove()
除去活动的弹出窗口,然后使用更新的数据创建一个新的弹出窗口。在此仅触发关闭事件。我希望打开事件也会被触发。
单击默认的关闭按钮时,关闭事件将按预期方式工作。
map.once('moveend',function(){
popup = new mapboxgl.Popup()
.setDOMContent('whatevs')
.addTo(map);
popup.on('close',function(){
console.log('closing popup');
});
popup.on('open',function(){
console.log('opening popup');
});
});
当我单击一个多边形时,我有一个flyTo
方法。 flyTo
动画完成后,我看到控制台上打印的是“关闭弹出窗口”,而不是“打开弹出窗口”。关闭弹出窗口时,“ closing popup”将被打印到控制台,这是预期的行为。
我可以正确使用这些事件吗?如果没有,我该如何正确地监听打开和关闭事件?