@pansy/react-mapbox-gl
Version:
🌍 基于 Mapbox GL 封装的 React 组件库
39 lines (38 loc) • 1.13 kB
JavaScript
// src/components/WorldView/WorldView.tsx
import { useEffect } from "react";
import { useMap } from "../../hooks/useMap";
var WorldView = (props) => {
const { code = "CN" } = props;
const { map } = useMap();
useEffect(() => {
if (code) {
filterLayers(code);
}
}, [code]);
const filterLayers = (worldview) => {
map.setFilter("admin-0-boundary-disputed", [
"all",
["==", ["get", "disputed"], "true"],
["==", ["get", "admin_level"], 0],
["==", ["get", "maritime"], "false"],
["match", ["get", "worldview"], ["all", worldview], true, false]
]);
map.setFilter("admin-0-boundary", [
"all",
["==", ["get", "admin_level"], 0],
["==", ["get", "disputed"], "false"],
["==", ["get", "maritime"], "false"],
["match", ["get", "worldview"], ["all", worldview], true, false]
]);
map.setFilter("admin-0-boundary-bg", [
"all",
["==", ["get", "admin_level"], 0],
["==", ["get", "maritime"], "false"],
["match", ["get", "worldview"], ["all", worldview], true, false]
]);
};
return null;
};
export {
WorldView
};