android - Android Mapbox 动态创建 SymbolLayer
问题描述
我仍然在思考我可以采取的各种方法来绘制点!SymbolManager 是否具有与 SymbolLayer 选项一样多的灵活性?我无法通过 SymbolManager 找到很多与数据相关的样式选项。我目前正在使用 SymbolManager,但这只是因为我无法弄清楚如何在给定变量列表的情况下动态创建 SymbolLayer!我考虑过动态创建一个geoJson文件,但这似乎有点多?我能找到的唯一选项是从资产或 url 加载源层。
编辑:我也在努力弄清楚如何从符号管理器中清除所有数据,或者从地图中删除符号管理器?
解决方案
SymbolManager
越来越接近与 的功能对SymbolLayer
等,但它的主要优点是易于使用。
回答您关于管理器的问题 - 目前,它仅使用常量进行样式设置,但如果您想使用Expression
s,支持正在开发中,应该可以在v0.4.0
. 您可以通过调用来删除注释SymbolManager#delete
,并且为了将它们全部删除,只需遍历可以使用 获取的数组SymbolManager#getAnnotations
。
当涉及到动态管理的数据集时SymbolLayer
,最好的方法是使用FeatureCollection
. 您可以使用 和等 静态工厂创建Feature
对象(相当于 GeoJSON 功能)。然后将这个系列放在你的身上,你应该准备好了。查看动态生成功能的示例活动。Feature#fromLngLat
FeatureCollection#fromFeatures
GeoJsonSource
推荐阅读
- html - 嵌套单元格保持在右侧,而您可以在单元格左侧正常键入
- git - 从cherry pick获取文件到某个提交
- integration - DocuSign CLM API + 核心 API
- javascript - 延迟加载被外部慢速加载脚本阻止的图像
- r - 有没有办法检查数据框是否为空,如果是则添加 NA 行?
- javascript - 如何在 Google Chrome 中自动漂亮地打印所有 javascript 文件?
- c++ - 使用 CreateProcess() 创建的 cmd.exe 不会从 WriteFile() 读取
- mysql - MySQL .Net 连接器 8.0.26 不适用于 MySql 服务器 5.7.23
- javascript - 我正在尝试修复此错误,但没有任何效果
- apollo-client - 使用`createMockClient` 测试非反应代码?