首页 > 解决方案 > Android Mapbox 动态创建 SymbolLayer

问题描述

我仍然在思考我可以采取的各种方法来绘制点!SymbolManager 是否具有与 SymbolLayer 选项一样多的灵活性?我无法通过 SymbolManager 找到很多与数据相关的样式选项。我目前正在使用 SymbolManager,但这只是因为我无法弄清楚如何在给定变量列表的情况下动态创建 SymbolLayer!我考虑过动态创建一个geoJson文件,但这似乎有点多?我能找到的唯一选项是从资产或 url 加载源层。

编辑:我也在努力弄清楚如何从符号管理器中清除所有数据,或者从地图中删除符号管理器?

标签: androidmapbox

解决方案


SymbolManager越来越接近与 的功能对SymbolLayer等,但它的主要优点是易于使用。

回答您关于管理器的问题 - 目前,它仅使用常量进行样式设置,但如果您想使用Expressions,支持正在开发中,应该可以在v0.4.0. 您可以通过调用来删除注释SymbolManager#delete,并且为了将它们全部删除,只需遍历可以使用 获取的数组SymbolManager#getAnnotations

当涉及到动态管理的数据集时SymbolLayer,最好的方法是使用FeatureCollection. 您可以使用 和等 静态工厂创建Feature对象(相当于 GeoJSON 功能)。然后将这个系列放在你的身上,你应该准备好了。查看动态生成功能的示例活动。Feature#fromLngLatFeatureCollection#fromFeaturesGeoJsonSource


推荐阅读