UNPKG

@pansy/react-mapbox-gl

Version:

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

96 lines (94 loc) 3.69 kB
var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/components/Layer/utils.ts var utils_exports = {}; __export(utils_exports, { createLayer: () => createLayer, updateLayer: () => updateLayer }); module.exports = __toCommonJS(utils_exports); var import_assert = require("../../utils/assert"); var import_deepEqual = require("../../utils/deepEqual"); var import_isStyleLoaded = require("../../utils/isStyleLoaded"); function createLayer(map, id, props) { if ((0, import_isStyleLoaded.isStyleLoaded)(map) && (!("source" in props) || map.getSource(props.source))) { const options = __spreadProps(__spreadValues({}, props), { id }); delete options.beforeId; map.addLayer(options, props.beforeId); } } function updateLayer(map, id, props, prevProps) { (0, import_assert.assert)(props.id === prevProps.id, "layer id changed"); (0, import_assert.assert)(props.type === prevProps.type, "layer type changed"); if (props.type === "custom" || prevProps.type === "custom") { return; } const { layout = {}, paint = {}, filter, minzoom, maxzoom, beforeId } = props; if (beforeId !== prevProps.beforeId) { map.moveLayer(id, beforeId); } if (layout !== prevProps.layout) { const prevLayout = prevProps.layout || {}; for (const key in layout) { if (!(0, import_deepEqual.deepEqual)(layout[key], prevLayout[key])) { map.setLayoutProperty(id, key, layout[key]); } } for (const key in prevLayout) { if (!layout.hasOwnProperty(key)) { map.setLayoutProperty(id, key, void 0); } } } if (paint !== prevProps.paint) { const prevPaint = prevProps.paint || {}; for (const key in paint) { if (!(0, import_deepEqual.deepEqual)(paint[key], prevPaint[key])) { map.setPaintProperty(id, key, paint[key]); } } for (const key in prevPaint) { if (!paint.hasOwnProperty(key)) { map.setPaintProperty(id, key, void 0); } } } if (!(0, import_deepEqual.deepEqual)(filter, prevProps.filter)) { map.setFilter(id, filter); } if (minzoom !== prevProps.minzoom || maxzoom !== prevProps.maxzoom) { map.setLayerZoomRange(id, minzoom, maxzoom); } }