mapbox - 格式化 Mapbox 组件的样式
问题描述
我目前使用 React 作为前端,ReactMapGL 作为我的地图组件,我正在尝试设置它的样式,以便我所有的大陆都有不同的颜色。我尝试在提供的所有不同模板中设置样式,但我只能在http://studio.mapbox.com中更改水和土地的颜色。是否有可能实现这种改变?
解决方案
您必须在地图上覆盖大陆图层,然后根据您自己的颜色/大陆映射逻辑有条件地对其进行样式设置。
您可以通过搜索获得大陆图层的数据(geojson)。
const continentLayer = {
id: "continents",
type: "fill",
source: {
type: "geojson",
data: continents
},
paint: {
"fill-color": [
"match",
["get", "CONTINENT"],
"Asia",
"red",
"Europe",
"Green",
/* default */ "yellow"
]
}
};
<Layer {...continentLayer} />
这是一个带有工作示例的代码框:https ://codesandbox.io/s/color-xd1cw?file=/src/App.js (另请查看continent.json)
推荐阅读
- javascript - 如何使用外部按钮检查更改组复选框状态
- r - 使用 chron 包在 R 中格式化数据
- nginx - 使用 nginx 缓存 GZIPed 内容
- c++ - 延迟线程启动 - 通知所有未唤醒所有线程
- c# - Prism WPF 事件聚合器事件类替代
- r - 在 R 中跨列保留字符串的第一个实例
- python - 在列表字典的每个索引处查找最小值和最大值
- tiff - IDL 比较来自 Meteosat 的 1000 个 tif 并创建一个新的
- python - Openshift成功下载收集但构建失败
- ruby-on-rails - RSpec 测试 - slack bot ruby