【问题标题】:Mapbox 3D line workaroundMapbox 3D 线解决方法
【发布时间】:2026-02-09 14:40:01
【问题描述】:

我有一张来自 mapbox 的地图,它有多个标记作为坐标和一条将它们连接在一起的线,我已经尝试了 3D 功能,并意识到目前无法拉伸线,尽管多边形可以。

所以我想知道是否可以将我的线转换为多个不同的多边形,以便能够在不同的高度挤压它,或者将每个标记设置为自己的高度,然后创建一条线/多边形将它们连接在一起?

【问题讨论】:

标签: javascript mapbox mapbox-gl-js mapbox-gl


【解决方案1】:

您所要求的尚未实现,但已在 Mapbox GL JS 中通过 https://github.com/mapbox/mapbox-gl-js/issues/3993 出票。

现在您需要选择将 LineString 功能转换为多边形。您可以使用 turf 的缓冲函数 http://turfjs.org/docs#buffer 来做到这一点。

整条线/多边形将在相同高度偏移,因此根据您的应用程序,您可以使用 turf 的 linkChunk http://turfjs.org/docs#lineChunk 将其分解为您分配不同高度属性的较小特征。

【讨论】:

  • 有没有办法在特定的标记处分割线而不是设定间隔?