我无法找到一种方法来防止用户将地图的俯仰角设置得太大。我正在使用高分辨率天气数据,因此我想防止他们将俯仰设置得太高,以至于他们看不到预期的区域。这使我可以扩展数据(将使用过多带宽),或者只是不在那里显示数据,这使它很难看。我不想完全消除音调功能,因为它有助于可视化。
我在文档中尽我所能,但是由于找不到信息,甚至没有代码段,因此我尝试了,因为我无处可寻。有什么方法(例如)让用户仅在一定程度上进行宣传吗?我制作了一个示例图像,其中左间距可以,但右间距不可以,因为在当前的缩放级别下,它会使他们看到的距离太远。如果无法做到这一点,我可以选择其他方法。
答案 0 :(得分:1)
使用render事件检查角度值:
map.on('render', (e) => {
if (e.target.getPitch() > MAX_PITCH) e.target.setPitch(MAX_PITCH)
})
答案 1 :(得分:1)
现在有一个 maxPitch
选项可以传递给 Map
构造。而且,从 Mapbox GL JS 2.0.0 开始,您可以将其设置为相当高的值,一直到 85°:
let MAX_PITCH = 85
new mapboxgl
.Map({
container: 'map',
// ...
pitch: MAX_PITCH,
maxPitch: MAX_PITCH,
});