有没有办法检测Mapbox弹出窗口何时打开? mapbox repo中的This issue描述了一个close
事件,其行为如下:
let popup = new mapboxgl.Popup()
popup.on('close', function(e) {
alert()
})
但是,我找不到任何方法来检测弹出窗口何时打开。这不起作用:
let popup = new mapboxgl.Popup()
popup.on('open', function(e) {
alert()
})
修改
现在支持弹出事件,因此上面的示例应该有效。
答案 0 :(得分:0)
虽然官方API不提供“开放”事件,但您可以尝试编写自己的自定义事件。请参阅:https://www.mapbox.com/mapbox-gl-js/api/#evented#fire
let popup = new mapboxgl.Popup()
popup.on('click', function(e) {
// popup opened so we fire an event
map.fire('your.custom.popup.event.name', {popup});
});
// subscribe to the event
map.on('your.custom.popup.event.name', (popup) => {
console.log('do something with popup', popup);
});