MapBox GL JS:使非交互式地图具有交互性

MapBox GL JS: Make a non-interactive map interactive

在我的网络应用程序中,地图最初设置为非交互式(用户无法在地图上移动):

var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/mapbox/dark-v10',
    zoom: 11,
    interactive: false
});

然而,当用户点击一个按钮时,我希望地图变成交互式的(用户可以在地图上移动)。我已经尝试将交互式 属性 设置为 true,但它不起作用:

map.interactive = true;

有什么建议吗?

您是正确的,因为您在实例化地图实例后无法更改 interactive 选项。所以看起来你有几个选择:

1) 实例化一个新的非交互式地图并替换交互式地图。

2) 如问题跟踪器中所述,禁用地图容器元素上的 pointer-events css 规则:https://github.com/mapbox/mapbox-gl-js/issues/7992

祝你好运!