mapbox - 如何在嵌套属性上使用 mapbox“case”表达式?
问题描述
如何使用嵌套值来使用 case == 运算符?就像是:
this.map.setPaintProperty("somelayer", "fill-color",
["case",
["==", ["properties:some_prop"], someval],
"#34c0dd",
"#499bbc"]
其中属性是dict:
properties = {
some_prop: 1,
some_prop2: 2,
// and so on
}
我已经尝试过["properties.some_prop"
] 并且["properties"]["some_prop"]
效果不佳。
以及如何打印诸如 console.log 之类的 mapbox 查询?
解决方案
如果properties
只是properties
GeoJSON 对象上的常规字段,则无需明确提及 - 所有这些字段都可以直接访问:
this.map.setPaintProperty("somelayer", "fill-color",
["case",
["==", ["get", "some_prop"], someval], "#34c0dd",
"#499bbc"
]);
假设#499bbc
是您想要的默认颜色。
推荐阅读
- java - 我如何让 paincomponent 从其他方法或类中提取东西
- java - 如果任何线程发生异常,则中断所有线程
- c - c语言中的凯撒分段错误
- android - 单击标记时打开不同的活动(多个标记)
- azure-ad-b2c - 如何在 AAD B2C 中添加 Slack 作为身份提供者?
- python - 使用 pyspark 嵌入 Word2Vec:查找表中缺少单词嵌入
- python - 为什么在函数a中覆盖datetime.datetime会影响函数b的执行?
- javascript - 如何知道是什么导致了 React Component 中的渲染?
- php - 在 laravel 中上传到服务器,然后在 SPA 中显示图像
- python - 创建数据框