多个拉伸多边形Mapbox iOS

时间:2019-02-21 04:19:48

标签: swift mapbox mapbox-gl

最新的Mapbox SDK和Swift

所以我已经为此战斗了三天...

我正在尝试使用坐标数组来创建一排挤出的圆柱状支柱(或倾斜的实心“墙”,如果这是有道理的……)但是我发现这比仅仅一行支柱)

我已经阅读了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依此类推。这显然涉及修改源代码,尽管对此却一无所知:(

1 个答案:

答案 0 :(得分:1)

您的基础数据中是否存在与各个点关联的height属性?您的最终目标肯定是可能的,但这取决于您是否有样式层要参考的数据。

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

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

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

如果没有在基础数据中具有高度,则必须获得一些高度才能使拉伸样式以这种方式工作。


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

工作