带有地形层的MapLibre GL JS:如何将水平面固定到特定高度?

问题描述 投票:0回答:1

我基于 maplibre.org 上的“添加 3D 模型”示例编写了一些代码,以便在使用 setTerrain 添加地形层的地图上仅绘制水平面。

我的目的是在海拔给定的高度绘制几个半透明图层,并让它们与山脉相交,有点类似于等高线。

在我的第一次测试中,我刚刚在海拔 0 处创建了一个 1 公里宽的正方形。

我对这种行为有些困惑,因为高度 0 原来是可见地图区域中心地形的高度。然后,当我拖动地图并释放鼠标时,高度 0 会以某种方式再次重置为中心地形的新高度 0,从而使飞机改变其相对高度。

下面的动画 GIF 说明了这个问题:

GIF 右侧有一座山脉,并且高度被大大夸大,以便更好地说明问题。

我需要做什么才能指定飞机的高度(以米为单位),并在拖动地图时使其看起来固定在该高度?

我认为我需要获取中心地形的高度,然后从飞机的 z 位置添加/减去它,以便使其保持在相对于给定地标的高度,但我不知道如何在自定义图层的渲染函数中执行此操作。

three.js mapbox-gl-js terrain maplibre-gl
1个回答
-2
投票

你好丹尼尔, 我面临着同样的问题! 你找到解决办法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.