最新的 Mapbox SDK 和 Swift
所以我已经和这个问题斗争了 3 天了......
我正在尝试使用一组坐标来创建一排挤压圆柱形柱子(或者倾斜的实心“墙”,如果这有意义的话......但我发现这比仅仅一行更难支柱)
我已经阅读了 Mapbox 的大部分文档,但无法理解 MGLShapeSource、MGLPolygon 和 MGLFillExtrusionStyleLayer 的使用。
据我所知,需要向源添加一个多边形,将该源添加到 map 对象,然后将挤压层应用到该源...但是,我不知道该怎么做工作。
这就是我到目前为止所管理的,作为一堵坚固的墙......但是使用支柱,我可以随着线的移动调整高度,创造一个倾斜的外观
如有任何建议,我们将不胜感激。我会在这里粘贴我的代码,但经过 3 天的反复试验,它太乱了,太多了。哈哈。
奖励:我想为正在创建的路径设置动画...因此第 1 根柱子出现在特定高度,然后是第 2 根柱子和较低的高度,然后是第 3 根柱子,依此类推。这显然涉及修改源代码——虽然不知道如何做:(
最佳答案
是否有单独的 height
属性与基础数据中的点相关联?您的最终目标绝对是可能的,但这取决于您是否拥有可供样式层引用的数据。
不幸的是,Mapbox 站点没有任何与此明确相关的 iOS 示例。但是,3D buildings example遵循基本相同的流程。 (即 mapView.addSource -> MGLFillExtrusionStyleLayer -> layer.fillExtrusionHeight
)。
构建示例中的关键部分是使用 .fillExtrusionHeight
和 "forKeyPath" expression根据数据中的相应属性设置挤压高度:
layer.fillExtrusionHeight = NSExpression(forKeyPath: "height")
如果您没有基础数据中的高度,则必须获取一些高度才能使挤压样式以这种方式工作。
⚠️ 免责声明:我目前在 Mapbox 工作 ⚠️
关于swift - 多个挤压多边形 Mapbox iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54799196/