格式化 Mapbox 组件的样式
Formatting the style of Mapbox component
我目前使用 React 作为前端,使用 ReactMapGL 作为我的地图组件,我正在尝试设置样式,以便我所有的大陆都有不同的颜色。我尝试在提供的所有不同模板中设置样式,但我只能在 http://studio.mapbox.com 中更改水和土地的颜色。是否有可能实现这一改变?
您必须在您的地图上覆盖大陆层,然后根据您自己的 color/continent 映射逻辑有条件地设置其样式。
大陆图层的数据(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} />
这是一个带有工作示例的 codesandbox:https://codesandbox.io/s/color-xd1cw?file=/src/App.js(另请参阅 continent.json)
我目前使用 React 作为前端,使用 ReactMapGL 作为我的地图组件,我正在尝试设置样式,以便我所有的大陆都有不同的颜色。我尝试在提供的所有不同模板中设置样式,但我只能在 http://studio.mapbox.com 中更改水和土地的颜色。是否有可能实现这一改变?
您必须在您的地图上覆盖大陆层,然后根据您自己的 color/continent 映射逻辑有条件地设置其样式。
大陆图层的数据(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} />
这是一个带有工作示例的 codesandbox:https://codesandbox.io/s/color-xd1cw?file=/src/App.js(另请参阅 continent.json)