android - SymbolLayer 中的数据驱动图标大小
问题描述
我正在关注https://blog.mapbox.com/a-guide-to-the-android-symbollayer-api-5daac7b66f2c的博客文章,向地图添加不同的符号。
根据特征值拥有不同的图标已经在起作用,但是基于“选定”属性更改图标大小证明并不容易。
似乎他们使用较新的 SDK 更改/删除了一些方法/类,我无法根据功能的属性值设置图标大小。
mapboxMap.addLayer(myLayer)
.withProperties(
PropertyFactory.iconSize(
Function.property(
"selected",
Stops.categorical(
Stop.stop(true, PropertyFactory.iconSize(1.5f)),
Stop.stop(false, PropertyFactory.iconSize(1.0f))
)
)
)
)
);
这就是他们在示例中的做法,但Stops.categorical()
不再存在。
我在用着com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.0
解决方案
对于其他正在寻找答案的人,这就是我解决它的方法
iconSize(
match(get("selected"), // property selected is a number
literal(1), // default value
stop(0, 0.75), // if not selected set icon size to 0.75 of original value
stop(1, 1) // if selected set it to original size
)
)
推荐阅读
- c# - 启动 exe 时使用的参数与在 Visual Studio 中启动时使用的参数不同
- python - 如何从同级文件夹中导入模块?
- java - JUnit - 如何测试接受用户输入并相应打印结果的主要方法?
- pine-script - PineScript input.symbol 未清除
- python - flask sqlalchemy update sql raw 命令不提供任何响应
- flutter - 在 Mac 上的终端安装后,Future 已经完成
- typescript - 为什么每次更改 TextInput 时我的导出函数都会调用
- common-lisp - 将符号导入 CL-USER(用于“迭代”)
- markdown - Markdown 如何将标头源分散到多行,同时仍呈现为一个连续的标头
- ios - 为什么我不能在扩展中使用round?