多个挤压多边形Mapbox iOS

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

最新的Mapbox SDK和Swift

所以我现在已经和它斗争了3天了......

我正在尝试使用一系列坐标来创建一排挤压圆柱形支柱(如果有意义的话,还是一个倾斜的实心“墙”......但我发现这比仅仅一根支柱更难)

我已经阅读了大部分Mapbox的文档,但无法理解使用MGLShapeSource,MGLPolygon和MGLFillExtrusionStyleLayer。

从我所知道的,需要向源添加多边形,将该源添加到地图对象,然后将挤出层应用于该源......但是,我无法弄清楚如何使其工作。

This is what I've managed so far, as a solid wall... But using pillars, I could adjust the height as the line goes, creating a sloping look This is what I've managed so far, as a solid wall... But using pillars, I could adjust the height as the line goes, creating a sloping look

任何意见,将不胜感激。我会在这里粘贴我的代码,但经过3天的试验和错误后,它太乱了太多了。哈哈。

奖励:我想动画正在创建的路径......所以柱子1出现在一定的高度,然后是柱子2和较低的高度,然后是柱子3,依此类推。这涉及显然修改源 - 虽然不知道如何做到这一点:(

swift mapbox mapbox-gl
1个回答
1
投票

是否有单独的height属性与基础数据中的点相关联?您的最终目标绝对可能,但这取决于您是否拥有样式图层的参考数据。

不幸的是,Mapbox网站没有明确与此相关的任何iOS示例。但是,3D buildings example基本上遵循相同的流程。 (即mapView.addSource -> MGLFillExtrusionStyleLayer -> layer.fillExtrusionHeight)。

建筑示例中的关键部分是使用.fillExtrusionHeight"forKeyPath" expression根据数据中的相应属性设置拉伸高度:

layer.fillExtrusionHeight = NSExpression(forKeyPath: "height")

如果您的基础数据中没有高度,则必须获得一些以使挤出样式以这种方式工作。


⚠️免责声明:我目前在Mapbox⚠️工作

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