UNPKG

@pansy/react-mapbox-gl

Version:

🌍 基于 Mapbox GL 封装的 React 组件库

39 lines (38 loc) 1.13 kB
// 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 };