首页 > 解决方案 > 是否可以为 Mapbox GL 地图设置“最大允许间距”?

问题描述

我无法找到一种方法来防止用户将地图的俯仰角设置得太远。我正在处理高分辨率天气数据,所以我想防止他们将音调设置得太极端,以至于他们可以看到远离预定区域的地方。这让我可以扩展数据(会使用太多带宽)或者只是不在那里显示它,让它变得丑陋。我不想完全消除投球能力,因为它有助于可视化。

我已经尽可能多地查看了文档,但是由于我找不到信息,而且我什至没有尝试过的代码片段,因为我无处可去。有没有办法(例如)让用户只在一定程度上进行推销?我制作了一个示例图像,其中左侧音高可以,但右侧不行,因为在当前缩放级别下,它会让他们看得太远。如果这是不可能的,我愿意接受其他方法,如果有的话。

样本

标签: mapbox-gl-js

解决方案


使用渲染事件检查角度的值:

map.on('render', (e) => {
  if (e.target.getPitch() > MAX_PITCH) e.target.setPitch(MAX_PITCH)
})

[ https://jsfiddle.net/05o4e7dr/ ]


推荐阅读