Mapbox GL JS收听弹出式开放事件?

问题描述 投票:1回答:1

有没有办法检测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()
})

编辑:

现在支持弹出事件,因此上面的示例应该有效。

javascript mapbox-gl-js
1个回答
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);
 });
© www.soinside.com 2019 - 2024. All rights reserved.