mapbox-gl開發(fā)教程(八):地圖事件
在地圖的開發(fā)過程中,和地圖進行交互,涉及到地圖相關的操作事件,mapbox-gl提供了鼠標操作、觸摸、地圖事件周期等事件以供使用。
mapbox-gl的事件是通過on進行添加,off進行移除,還有once只執(zhí)行一遍即移除,事件的相關示例代碼:
map.on('click', (e) => {
console.log(`地圖鼠標點擊${e.lngLat}`);
});
事件能執(zhí)行off,要把事件單獨提出來,listener是必須的:
function mapclick(e)
{? ?
console.log(`地圖鼠標點擊${e.lngLat}`);
}
map.off('click',mapclick);
事件只執(zhí)行一次即關閉
map.once('click', (e) => {
console.log(`地圖鼠標點擊${e.lngLat}`);
});
鼠標事件設置特定圖層的點擊,其他圖層不響應
map.on('click','layerid',(e) => {
console.log(`特定圖層的鼠標點擊${e.lngLat}`);
});
同一個事件,map.on多次執(zhí)行,事件同樣會添加對應的次數,這個在執(zhí)行的時候要注意,防止重復的事件發(fā)生。
mapbox-gl支持的事件文檔地址:
https://docs.mapbox.com/mapbox-gl-js/api/map/#map-events
標簽: