首页 > 解决方案 > 变焦时俯仰相机

问题描述

我正在尝试在缩放时更改 mapbox 相机的间距。我知道我可以设置默认/最大音高级别,并且用户可以自己更改相机的音高,但是我正在寻找一种将缩放级别范围映射到音高范围的方法。在滚动/缩放时,我希望音高根据这个范围改变。

我尝试了以下方法:

function onMapboxZoom(e: MapboxEvent) {
  const zoom = e.target.getZoom();
  const pitch = mapRange(zoom, 6, 10, 0, 65);
  e.target.setPitch(pitch);
}

我使用这种方法遇到的问题是,我认为 mapbox 用于创建平滑缩放效果的缩放插值被我的手动音高更改取消了。结果是缩放的平滑度消失了,并且需要大量的滚动事件才能正确放大。我猜这是有道理的。我想知道是否有人以前解决过这个问题,以及是否/如何在保持平滑缩放行为的同时实现这一点。

谢谢!

标签: mapbox-gl-js

解决方案


推荐阅读