mapbox - Mapbox 圆形颜色的数据驱动属性
问题描述
我在 mapboxgl 的实例上有圆圈,我想通过属性通知其颜色:“num_asc_properties”,它是一个整数。我正在使用有条件的“案例”来根据返回的整数设置颜色。然而,圆圈出现了,但没有改变,全是黑色的。我的功能来源是我在 github 上托管的 geoJSON 对象。
'circle-color': [
"case",
[">=", ["get", 'num_asc_properties'], 100],
color4,
[">=", ["get", 'num_asc_properties'], 10],
color3,
[">=", ["get", 'num_asc_properties'], 3],
color2,
[">", ["get", 'num_asc_properties'], 0],
color1,
white
]
这是我的 geoJson 对象的示例:
{
"type": "Feature",
"properties": {
"property_location": "344-348 DUNCAN AVE.",
"owners_name": "HOUSING AUTHORITY OF JERSEY CITY",
"owners_mailing_address": "400 ROUTE 1",
"city_state_zip": "JERSEY CITY, NJ 07306",
"Latitude": "40.730307",
"Longitude": "-74.08450571428571",
"property_full_address": "344-348 Duncan Ave., Jersey City, NJ",
"owners_full_address": "400 ROUTE 1, JERSEY CITY, NJ 07306",
"gcode": "344, Duncan Avenue, Jersey City, Hudson County, New Jersey, 07306, United States",
"asc_properties": "['514 NEWARK AVE.', '88 ERIE ST.', '57 DALES AVE.', '547 MONTGOMERY ST.', '20 FLORENCE ST.', '194 CORNELISON AVE', '198 CORNELISON AVE', '200 CORNELISON AVE', '206 CORNELISON AVE', '214 CORNELISON AVE', '557 MONTGOMERY ST.', '62 FREMONT ST.', '16-134 WILMOT AVE.', '326 DUNCAN AVE.', '344-348 DUNCAN AVE.', '354 & 358 DUNCAN AVE.', '39-85 HARVEY AVE.', '229-235 FREEMAN AVE.', '349 WOODWARD ST.', '296 WOODWARD ST.', '306 WOODWARD ST.', '302-332 WOODWARD ST.', '340 WOODWARD ST.', '511 GRAND ST.', '507 GRAND ST.', 'VAN HORNE ST.', '471 PACIFIC AVE.', '52 CARBON ST.', '331 RANDOLPH AVE.', '380-390 ARLINGTON AVE.', '254 BERGEN AVE.', '140 STEGMAN ST.', '146 STEGMAN ST.', '148 STEGMAN ST.', '176 DWIGHT ST.', '125 DWIGHT ST.', '107 DWIGHT ST.', '103 DWIGHT ST.', '199 OCEAN AVENUE', '92 DANFORTH AVENUE', '71 CATOR AVE.', '72 DANFORTH AVE.', '82 DANFORTH AVE.', '15 OLD BERGEN RD.', '61 MERRITT ST.']",
"num_asc_properties": "59",
"units": "2"
},
因此,对于此功能,我希望圆圈的颜色为 color3,因为 59 小于 100 但大于 10。我不确定自己做错了什么。
解决方案
我没有做的是嵌套一个“to_string”表达式:
'circle-color': [
"case",
[">=", ["to-number", ["get", 'num_asc_properties']], 100],
color4,
[">=", ["to-number", ["get", 'num_asc_properties']], 10],
color3,
[">=", ["to-number", ["get", 'num_asc_properties']], 3],
color2,
[">", ["to-number", ["get", 'num_asc_properties']], 0],
color1,
white
]
推荐阅读
- python-3.x - Python 3 中使用二分搜索的立方根:-1 到 0 中的数字
- javascript - 如何在 Javascript 中导出 GeoJSON
- android - Android - 即使将 kotlin 用作语言,Java 包名称也不会更改为 Kotlin
- java - TestNG 并行执行 - 并行类的问题
- javascript - 评估混淆的 JavaScript 变量声明
- reactjs - 如何在 react-highlight-words 中使用 dangerouslySetInnerHTML
- c - 从 lcov 的覆盖率报告中排除文件
- java - Java XML Parse - 删除第一个标签
- html - 背景颜色不适用于 HTML 元素?
- orm - Sequelize - 在父范围内排除默认子关系