我正在绘制带有路线(LineString)的地图,并且正在处理
setFeatureState
使它们看起来更粗在单击(e.features.length > 1
)下检测到两条路线的情况下,我想显示带有消歧信息/链接的new Popup({ closeButton: true })
,以便用户可以精确选择他们想要的路线。
不幸的是,当用户尝试进入弹出区域以单击其中的链接时,跟踪鼠标的移动会导致弹出窗口消失。
所以我要做的是,在显示弹出窗口之前先解除鼠标移动监听器的绑定,然后在关闭时重新绑定
showPopup(mapbox){
this.removeListeners(mapbox);
const popup = new mapboxgl.Popup({
closeButton: true,
closeOnClick: true,
});
popup.once('close', () => {
this.addListeners(mapbox);
});
}
有没有更好的API方法来解决这个问题?