地图加载后切换 Mapbox GL JS 地图交互性

Jor*_*ost 4 javascript mapbox-gl mapbox-gl-js

创建地图后可以更改地图是否是交互式的吗?

在 mapbox-gl-js 文档中,只能在创建地图时将地图标记为交互式或非交互式(option.interactive)。但由于某些原因,我需要即时更改它并切换地图交互性。就像是:

map.setInteractive(true);
Run Code Online (Sandbox Code Playgroud)

或者:

map.setInteractive(false);
Run Code Online (Sandbox Code Playgroud)

感谢您的支持。

bpl*_*lmp 6

这就是我通过禁用每个地图处理程序来做到这一点的方法:

(目前正在研究mapbox-gl-js/v0.45.0

var map = new mapboxgl.Map({
    container: 'map', // container id
    style: 'mapbox://styles/mapbox/streets-v9', // stylesheet location
    center: [-74.50, 40], // starting position [lng, lat]
    zoom: 9 // starting zoom
});

// disable map interaction so users can't pan, zoom, etc
map.boxZoom.disable();
map.scrollZoom.disable();
map.dragPan.disable();
map.dragRotate.disable();
map.keyboard.disable();
map.doubleClickZoom.disable();
map.touchZoomRotate.disable();
Run Code Online (Sandbox Code Playgroud)

处理程序记录在此处:https ://www.mapbox.com/mapbox-gl-js/api/#Handlers