在地图的开发过程中,和地图进行交互,涉及到地图相关的操作事件,mapbox-gl提供了鼠标操作、触摸、地图事件周期等事件以供使用。
mapbox-gl的事件是通过on进行添加,off进行移除,还有once只执行一遍即移除,事件的相关示例代码:
map.on('click', (e) => {
console.log(`地图鼠标点击${e.lngLat}`);
});
事件能执行off,要把事件单独提出来,listener是必须的:
function mapclick(e)
{
console.log(`地图鼠标点击${e.lngLat}`);
}
map.off('click',mapclick);
事件只执行一次即关闭
map.once('click', (e) => {
console.log(`地图鼠标点击${e.lngLat}`);
});
鼠标事件设置特定图层的点击,其他图层不响应
map.on('click','layerid',(e) => {
console.log(`特定图层的鼠标点击${e.lngLat}`);
});
同一个事件,map.on多次执行,事件同样会添加对应的次数,这个在执行的时候要注意,防止重复的事件发生。
mapbox-gl支持的事件文档地址:
https://docs.mapbox.com/mapbox-gl-js/api/map/#map-events
mapbox-gl开发是讲述如何从基础到实际应用进行地图开发的教程,不定时进行持续进行更新,如有疑问,公众号留言进行讨论。
mapbox-gl官网地址:https://docs.mapbox.com/mapbox-gl-js/guides/