react-swipe-map 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,73 +1,265 @@
1
- # React + TypeScript + Vite
1
+ # react-swipe-map
2
2
 
3
- This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3
+ 一个基于 React Leaflet 的卷帘地图组件,支持左右图层对比展示,适用于地图数据对比、变化检测等场景。
4
4
 
5
- Currently, two official plugins are available:
5
+ ## 特性
6
6
 
7
- - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8
- - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
7
+ - 🗺️ 基于 Leaflet 的卷帘地图组件
8
+ - 🔄 支持卷帘模式和普通地图模式切换
9
+ - 📍 支持左右图层独立管理
10
+ - 🎨 支持自定义控件图标
11
+ - 🗂️ 支持底图切换
12
+ - 📦 开箱即用,简单易用
9
13
 
10
- ## React Compiler
14
+ ## 📦 安装
11
15
 
12
- The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
16
+ ```bash
17
+ npm install react-swipe-map
18
+ # 或
19
+ yarn add react-swipe-map
20
+ # 或
21
+ pnpm add react-swipe-map
22
+ ```
13
23
 
14
- ## Expanding the ESLint configuration
24
+ ## 🚀 快速开始
15
25
 
16
- If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
26
+ ### 基本使用
17
27
 
18
- ```js
19
- export default defineConfig([
20
- globalIgnores(['dist']),
28
+ ```tsx
29
+ import { useEffect, useMemo, useRef, useState } from "react";
30
+ import L from "leaflet";
31
+ import "leaflet/dist/leaflet.css";
32
+ import "./App.scss";
33
+ // @ts-ignore
34
+ // import { Map } from "react-roll-map-testone";
35
+ import Map from "./react-leaflet-side-by-side/index";
36
+ // import {}
37
+ import RollMapIcon from "./assets/roll-map.png";
38
+ import NormalMapIcon from "./assets/normal-map.png";
39
+ import BaseMapSelectIcon from "./assets/base-map-select.png";
40
+ // @ts-ignore
41
+ // import Map from "react-swipe-map";
42
+ import { Button } from "antd";
43
+ let baseMapList = [
21
44
  {
22
- files: ['**/*.{ts,tsx}'],
23
- extends: [
24
- // Other configs...
25
-
26
- // Remove tseslint.configs.recommended and replace with this
27
- tseslint.configs.recommendedTypeChecked,
28
- // Alternatively, use this for stricter rules
29
- tseslint.configs.strictTypeChecked,
30
- // Optionally, add this for stylistic rules
31
- tseslint.configs.stylisticTypeChecked,
32
-
33
- // Other configs...
34
- ],
35
- languageOptions: {
36
- parserOptions: {
37
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
38
- tsconfigRootDir: import.meta.dirname,
39
- },
40
- // other options...
41
- },
45
+ mapUrl:
46
+ "http://36.110.12.229:9015/usmaps?service=WMTS&version=1.0.0&request=GetTile&tk=53a6c3d4-4821-418d-8403-27213bac20c6&Layer&Style=1&Format=image/png&TileMatrixSet=l&TileMatrix={z}&TileRow={y}&TileCol={x}",
47
+ center: [30.5984, 114.3118],
48
+ zoomOffset: 0,
49
+ zoom: 6,
50
+ maxZoom: 18,
51
+ type: "4326",
52
+ id: "imagesky4326",
53
+ name: "天地图WMTS影像(4326)",
54
+ checked: false,
42
55
  },
43
- ])
56
+ {
57
+ id: "1154781632637710336",
58
+ name: "4490天地图影像注记",
59
+ icon: "ca3fe93b207545558ba5c601a8d36c31",
60
+ mapUrl: "http://10.17.17.243/tdtyxzj_c/{z}/{y}/{x}.png",
61
+ type: "4326",
62
+ centre: [23.641, 112.983],
63
+ bounds: null,
64
+ zoom: 7,
65
+ zoomOffset: 1,
66
+ checked: true,
67
+ },
68
+ ];
69
+ function App() {
70
+ const [isRollMap, setIsRollMap] = useState(false);
71
+ const rollMapRef = useRef(null);
72
+ // 在左侧图层上添加一个marker
73
+ const addMarkerToLeft = () => {
74
+ if (!rollMapRef.current) return;
75
+ const marker = L.marker([30.5984, 114.3118], {
76
+ pane: "leftPane",
77
+ });
78
+ (rollMapRef.current as any).addLeftLayers([marker]);
79
+ };
80
+ const addGeoJsonToRight = () => {
81
+ if (!rollMapRef.current) return;
82
+ const geojson = L.geoJSON(
83
+ {
84
+ type: "Feature",
85
+ geometry: {
86
+ type: "Polygon",
87
+ coordinates: [
88
+ [
89
+ [115.796, 40.4934],
90
+ [116.377, 40.3945],
91
+ [116.236, 39.9146],
92
+ [115.659, 40.0129],
93
+ [115.796, 40.4934],
94
+ ],
95
+ ],
96
+ },
97
+ } as any,
98
+ {
99
+ pane: "rightPane",
100
+ style: {
101
+ color: "red",
102
+ weight: 3,
103
+ opacity: 0.5,
104
+ fillColor: "red",
105
+ fillOpacity: 0.2,
106
+ },
107
+ },
108
+ );
109
+ (rollMapRef.current as any).addRightLayers([geojson]);
110
+ // 定位到geojson
111
+ ((rollMapRef.current as any).getMapRef() as L.Map).fitBounds(
112
+ geojson.getBounds(),
113
+ );
114
+ };
115
+ return (
116
+ <>
117
+ <div className="app-container">
118
+ <div className="app-content">
119
+ <Map
120
+ ref={rollMapRef}
121
+ leftLayers={[]}
122
+ rightLayers={[]}
123
+ rollIcon={RollMapIcon}
124
+ normalIcon={NormalMapIcon}
125
+ baseMapSelectIcon={BaseMapSelectIcon}
126
+ baseMapList={baseMapList}
127
+ onIsRollMapChange={setIsRollMap}
128
+ ></Map>
129
+ </div>
130
+ <div className="app-right">
131
+ <Button onClick={addMarkerToLeft} disabled={!isRollMap}>
132
+ 添加marker到左侧图层
133
+ </Button>
134
+ <Button onClick={addGeoJsonToRight} disabled={!isRollMap}>
135
+ 添加geojson到右侧图层
136
+ </Button>
137
+ </div>
138
+ </div>
139
+ </>
140
+ );
141
+ }
142
+
143
+ export default App;
44
144
  ```
45
145
 
46
- You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
146
+ ## 📖 API 文档
47
147
 
48
- ```js
49
- // eslint.config.js
50
- import reactX from 'eslint-plugin-react-x'
51
- import reactDom from 'eslint-plugin-react-dom'
148
+ ### Props
52
149
 
53
- export default defineConfig([
54
- globalIgnores(['dist']),
55
- {
56
- files: ['**/*.{ts,tsx}'],
57
- extends: [
58
- // Other configs...
59
- // Enable lint rules for React
60
- reactX.configs['recommended-typescript'],
61
- // Enable lint rules for React DOM
62
- reactDom.configs.recommended,
63
- ],
64
- languageOptions: {
65
- parserOptions: {
66
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
67
- tsconfigRootDir: import.meta.dirname,
68
- },
69
- // other options...
70
- },
71
- },
72
- ])
150
+ | 参数 | 说明 | 类型 | 默认值 | 必填 |
151
+ | ------------------- | ---------------- | ------------------------------------ | ------------------------------------------ | ---- |
152
+ | `leftLayers` | 左侧图层列表 | `L.Layer[]` | `[]` | 否 |
153
+ | `rightLayers` | 右侧图层列表 | `L.Layer[]` | `[]` | 否 |
154
+ | `mapSettings` | 地图配置 | `{ center: number[], zoom: number }` | `{ center: [35.8617, 104.1954], zoom: 4 }` | 否 |
155
+ | `rollIcon` | 卷帘模式图标 | `any` | 内置图标 | 否 |
156
+ | `normalIcon` | 普通模式图标 | `any` | 内置图标 | 否 |
157
+ | `baseMapSelectIcon` | 底图选择图标 | `any` | 内置图标 | 否 |
158
+ | `baseMapList` | 底图列表 | `BaseMapConfig[]` | `[]` | 否 |
159
+ | `onIsRollMapChange` | 卷帘模式变化回调 | `(isRollMap: boolean) => void` | - | 否 |
160
+
161
+ ### BaseMapConfig
162
+
163
+ ```typescript
164
+ interface BaseMapConfig {
165
+ id: string;
166
+ name: string;
167
+ mapUrl: string;
168
+ type: "4326" | "3857";
169
+ centre?: [number, number];
170
+ zoom?: number;
171
+ zoomOffset?: number;
172
+ maxZoom?: number;
173
+ checked?: boolean;
174
+ icon?: string;
175
+ }
73
176
  ```
177
+
178
+ ### Ref Methods
179
+
180
+ 通过 `ref` 可以访问以下方法:
181
+
182
+ | 方法名 | 说明 | 类型 |
183
+ | --------------------- | ---------------------- | ----------------------------- |
184
+ | `addLeftLayers` | 添加左侧图层 | `(layers: L.Layer[]) => void` |
185
+ | `addRightLayers` | 添加右侧图层 | `(layers: L.Layer[]) => void` |
186
+ | `clearLeftLayers` | 清除左侧图层 | `() => void` |
187
+ | `clearRightLayers` | 清除右侧图层 | `() => void` |
188
+ | `getMapInstance` | 获取地图实例 | `() => L.Map \| null` |
189
+ | `toggleRollMap` | 切换卷帘模式 | `(enabled: boolean) => void` |
190
+ | `getIsRollMap` | 获取当前是否为卷帘模式 | `() => boolean` |
191
+ | `getLeftLayersGroup` | 获取左侧图层组 | `() => L.LayerGroup \| null` |
192
+ | `getRightLayersGroup` | 获取右侧图层组 | `() => L.LayerGroup \| null` |
193
+ | `getMapRef` | 获取地图引用 | `() => L.Map \| null` |
194
+
195
+ ## 🎯 使用场景
196
+
197
+ - 🗺️ **地图数据对比**:对比不同时期的地图数据
198
+ - 📍 **变化检测**:检测地理数据的变化情况
199
+ - 🎨 **图层对比**:对比不同图层的数据差异
200
+ - 📊 **数据分析**:辅助地理数据分析和可视化
201
+
202
+ ## 💡 注意事项
203
+
204
+ 1. **Leaflet 样式**:使用前需要引入 Leaflet 的 CSS 文件:
205
+
206
+ ```tsx
207
+ import "leaflet/dist/leaflet.css";
208
+ ```
209
+
210
+ 2. **Pane 设置**:添加图层时,可以通过 `pane` 参数指定图层所属的 pane:
211
+ - `leftPane`:左侧图层
212
+ - `rightPane`:右侧图层
213
+
214
+ 3. **卷帘模式**:只有在卷帘模式下,左右图层才会分开显示
215
+
216
+ 4. **图层管理**:使用 `addLeftLayers` 和 `addRightLayers` 方法添加图层时,会自动更新卷帘控制器
217
+
218
+ ## 🔧 依赖
219
+
220
+ - React >= 18.2.0
221
+ - React DOM >= 18.2.0
222
+ - Leaflet >= 1.9.4
223
+ - leaflet-side-by-side >= 2.2.0
224
+ - antd >= 6.2.3
225
+
226
+ ## 📝 更新日志
227
+
228
+ ### v1.0.2 (当前版本)
229
+
230
+ - ✨ 初始版本发布
231
+ - 🗺️ 支持卷帘地图基本功能
232
+ - 🔄 支持卷帘模式和普通地图模式切换
233
+ - 📍 支持左右图层独立管理
234
+ - 🎨 支持自定义控件图标
235
+ - 🗂️ 支持底图切换
236
+
237
+ ## 🚧 后续优化计划
238
+
239
+ - [ ] 添加更多地图控件(比例尺、鹰眼图等)
240
+ - [ ] 支持更多地图服务(WMS、WFS 等)
241
+ - [ ] 优化性能,减少不必要的渲染
242
+ - [ ] 添加更多示例和文档
243
+ - [ ] 支持 TypeScript 类型定义优化
244
+ - [ ] 添加单元测试
245
+ - [ ] 支持自定义主题
246
+ - [ ] 支持移动端适配
247
+
248
+ ## 🤝 贡献
249
+
250
+ 欢迎提交 Issue 和 Pull Request!
251
+
252
+ ## 📄 许可证
253
+
254
+ MIT License
255
+
256
+ ## 📮 联系方式
257
+
258
+ 如有问题或建议,请通过以下方式联系:
259
+
260
+ - 提交 Issue:[GitHub Issues](https://github.com/your-username/react-swipe-map/issues)
261
+ - 邮件:your-email@example.com
262
+
263
+ ---
264
+
265
+ **⭐ 如果这个项目对你有帮助,请给一个 Star 支持一下!**
package/dist/index.es.js CHANGED
@@ -24414,7 +24414,7 @@ const pS = Kn(
24414
24414
  pane: "rightPane",
24415
24415
  zoomOffset: b.zoomOffset || 0
24416
24416
  });
24417
- o.current.addLayer(E), s && s.current.setRightLayers(
24417
+ o.current.addLayer(E), s && s.current && s.current.setRightLayers(
24418
24418
  o.current.getLayers()
24419
24419
  );
24420
24420
  } else
package/dist/index.umd.js CHANGED
@@ -205,4 +205,4 @@ html body {
205
205
  `]:{[`&:hover ${n}-inner`]:{borderColor:e.colorPrimary}},[`${r}:not(${r}-disabled)`]:{[`&:hover ${n}-checked:not(${n}-disabled) ${n}-inner`]:{backgroundColor:e.colorPrimaryHover,borderColor:"transparent"},[`&:hover ${n}-checked:not(${n}-disabled):after`]:{borderColor:e.colorPrimaryHover}}},{[`${n}-checked`]:{[`${n}-inner`]:{backgroundColor:e.colorPrimary,borderColor:e.colorPrimary,"&:after":{opacity:1,transform:"rotate(45deg) scale(1) translate(-50%,-50%)",transition:`all ${e.motionDurationMid} ${e.motionEaseOutBack} ${e.motionDurationFast}`}}},[`
206
206
  ${r}-checked:not(${r}-disabled),
207
207
  ${n}-checked:not(${n}-disabled)
208
- `]:{[`&:hover ${n}-inner`]:{backgroundColor:e.colorPrimaryHover,borderColor:"transparent"}}},{[n]:{"&-indeterminate":{"&":{[`${n}-inner`]:{backgroundColor:`${e.colorBgContainer}`,borderColor:`${e.colorBorder}`,"&:after":{top:"50%",insetInlineStart:"50%",width:e.calc(e.fontSizeLG).div(2).equal(),height:e.calc(e.fontSizeLG).div(2).equal(),backgroundColor:e.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}},[`&:hover ${n}-inner`]:{backgroundColor:`${e.colorBgContainer}`,borderColor:`${e.colorPrimary}`}}}}},{[`${r}-disabled`]:{cursor:"not-allowed"},[`${n}-disabled`]:{[`&, ${n}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${n}-inner`]:{background:e.colorBgContainerDisabled,borderColor:e.colorBorder,"&:after":{borderColor:e.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:e.colorTextDisabled},[`&${n}-indeterminate ${n}-inner::after`]:{background:e.colorTextDisabled}}}]};function Hx(e,n){const r=_n(n,{checkboxCls:`.${e}`,checkboxSize:n.controlInteractiveSize});return Fx(r)}const ip=Vn("Checkbox",(e,{prefixCls:n})=>[Hx(n,e)]),sp=A.createContext(null),Vx=(e,n)=>{const{prefixCls:r,className:o,rootClassName:s,children:l,indeterminate:c=!1,style:d,onMouseEnter:h,onMouseLeave:g,skipGroup:m=!1,disabled:v,classNames:y,styles:C,..._}=e,{getPrefixCls:x,direction:b,className:E,style:S,classNames:P,styles:I}=Ur("checkbox"),M=f.useContext(sp),{isFormItemInput:k}=f.useContext(fs),N=f.useContext(hl),R=((M==null?void 0:M.disabled)||v)??N,B={...e,indeterminate:c,disabled:R},[z,$]=kr([P,y],[I,C],{props:B}),j=f.useRef(_.value),V=f.useRef(null),W=Sr(n,V);if(process.env.NODE_ENV!=="production"){const oe=hn("Checkbox");process.env.NODE_ENV!=="production"&&oe("checked"in _||!!M||!("value"in _),"usage","`value` is not a valid prop, do you mean `checked`?")}f.useEffect(()=>{M==null||M.registerValue(_.value)},[]),f.useEffect(()=>{if(!m)return _.value!==j.current&&(M==null||M.cancelValue(j.current),M==null||M.registerValue(_.value),j.current=_.value),()=>M==null?void 0:M.cancelValue(_.value)},[_.value]),f.useEffect(()=>{var oe;(oe=V.current)!=null&&oe.input&&(V.current.input.indeterminate=c)},[c]);const F=x("checkbox",r),X=no(F),[J,Z]=ip(F,X),le={..._};M&&!m&&(le.onChange=(...oe)=>{_.onChange&&_.onChange.apply(_,oe),M.toggleOption&&M.toggleOption({label:l,value:_.value})},le.name=M.name,le.checked=M.value.includes(_.value));const G=ce(`${F}-wrapper`,{[`${F}-rtl`]:b==="rtl",[`${F}-wrapper-checked`]:le.checked,[`${F}-wrapper-disabled`]:R,[`${F}-wrapper-in-form-item`]:k},E,o,z.root,s,Z,X,J),ie=ce(z.icon,{[`${F}-indeterminate`]:c},_l,J),[ne,de]=Dx(le.onClick);return f.createElement(If,{component:"Checkbox",disabled:R},f.createElement("label",{className:G,style:{...$.root,...S,...d},onMouseEnter:h,onMouseLeave:g,onClick:ne},f.createElement(zx,{...le,onClick:de,prefixCls:F,className:ie,style:$.icon,disabled:R,ref:W}),to(l)&&f.createElement("span",{className:ce(`${F}-label`,z.label),style:$.label},l)))},ap=f.forwardRef(Vx);process.env.NODE_ENV!=="production"&&(ap.displayName="Checkbox");const lp=ap,Wx=f.forwardRef((e,n)=>{const{defaultValue:r,children:o,options:s=[],prefixCls:l,className:c,rootClassName:d,style:h,onChange:g,role:m="group",...v}=e,{getPrefixCls:y,direction:C}=f.useContext(Ot),[_,x]=f.useState(v.value||r||[]),[b,E]=f.useState([]);f.useEffect(()=>{"value"in v&&x(v.value||[])},[v.value]);const S=f.useMemo(()=>s.map(F=>typeof F=="string"||typeof F=="number"?{label:F,value:F}:F),[s]),P=F=>{E(X=>X.filter(J=>J!==F))},I=F=>{E(X=>[].concat(bn(X),[F]))},M=F=>{const X=_.indexOf(F.value),J=bn(_);X===-1?J.push(F.value):J.splice(X,1),"value"in v||x(J),g==null||g(J.filter(Z=>b.includes(Z)).sort((Z,le)=>{const G=S.findIndex(ne=>ne.value===Z),ie=S.findIndex(ne=>ne.value===le);return G-ie}))},k=y("checkbox",l),N=`${k}-group`,R=no(k),[B,z]=ip(k,R),$=Sn(v,["value","disabled"]),j=s.length?S.map(F=>f.createElement(lp,{prefixCls:k,key:F.value.toString(),disabled:"disabled"in F?F.disabled:v.disabled,value:F.value,checked:_.includes(F.value),onChange:F.onChange,className:ce(`${N}-item`,F.className),style:F.style,title:F.title,id:F.id,required:F.required},F.label)):o,V=f.useMemo(()=>({toggleOption:M,value:_,disabled:v.disabled,name:v.name,registerValue:I,cancelValue:P}),[M,_,v.disabled,v.name,I,P]),W=ce(N,{[`${N}-rtl`]:C==="rtl"},c,d,z,R,B);return f.createElement("div",{className:W,style:h,role:m,...$,ref:n},f.createElement(sp.Provider,{value:V},j))}),Is=lp;Is.Group=Wx,Is.__ANT_CHECKBOX=!0,process.env.NODE_ENV!=="production"&&(Is.displayName="Checkbox");const jx=Is,Zx=e=>{const{componentCls:n,borderRadius:r,paddingSM:o,colorBorder:s,paddingXS:l,fontSizeLG:c,fontSizeSM:d,borderRadiusLG:h,borderRadiusSM:g,colorBgContainerDisabled:m,lineWidth:v,antCls:y}=e,[C,_]=gr(y,"space");return{[n]:[{display:"inline-flex",alignItems:"center",gap:0,paddingInline:o,margin:0,borderWidth:v,borderStyle:"solid",borderRadius:r,"&:hover":{zIndex:0},[`&${n}-disabled`]:{color:e.colorTextDisabled},"&-large":{fontSize:c,borderRadius:h},"&-small":{paddingInline:l,borderRadius:g,fontSize:d},"&-compact-last-item":{borderEndStartRadius:0,borderStartStartRadius:0},"&-compact-first-item":{borderEndEndRadius:0,borderStartEndRadius:0},"&-compact-item:not(:first-child):not(:last-child)":{borderRadius:0},"&-compact-item:not(:last-child)":{borderInlineEndWidth:0},"&-compact-item:not(:first-child)":{borderInlineStartWidth:0}},{[C("addon-border-color")]:s,[C("addon-background")]:m,[C("addon-border-color-outlined")]:s,[C("addon-background-filled")]:m,borderColor:_("addon-border-color"),background:_("addon-background"),"&-variant-outlined":{[C("addon-border-color")]:_("addon-border-color-outlined")},"&-variant-filled":{[C("addon-border-color")]:"transparent",[C("addon-background")]:_("addon-background-filled"),[`&${n}-disabled`]:{[C("addon-border-color")]:s,[C("addon-background")]:m}},"&-variant-borderless":{border:"none",background:"transparent"},"&-variant-underlined":{border:"none",background:"transparent"}},{"&-status-error":{[C("addon-border-color-outlined")]:e.colorError,[C("addon-background-filled")]:e.colorErrorBg,color:e.colorError},"&-status-warning":{[C("addon-border-color-outlined")]:e.colorWarning,[C("addon-background-filled")]:e.colorWarningBg,color:e.colorWarning}}]}},Ux=Vn(["Space","Addon"],e=>[Zx(e),Yf(e,{focus:!1})]),qx=A.forwardRef((e,n)=>{const{className:r,children:o,style:s,prefixCls:l,variant:c="outlined",disabled:d,status:h,...g}=e,{getPrefixCls:m,direction:v}=A.useContext(Ot),y=m("space-addon",l),[C,_]=Ux(y),{compactItemClassnames:x,compactSize:b}=wl(y,v),E=x0(y,h),S=ce(y,C,x,_,`${y}-variant-${c}`,E,{[`${y}-${b}`]:b,[`${y}-disabled`]:d},r);return A.createElement("div",{ref:n,className:S,style:s,...g},o)});function cp(e){return["small","middle","large"].includes(e)}function up(e){return e?typeof e=="number"&&!Number.isNaN(e):!1}const dp=A.createContext({latestIndex:0}),Gx=dp.Provider,Kx=e=>{const{className:n,prefix:r,index:o,children:s,separator:l,style:c,classNames:d,styles:h}=e,{latestIndex:g}=f.useContext(dp);return to(s)?f.createElement(f.Fragment,null,f.createElement("div",{className:n,style:c},s),o<g&&l&&f.createElement("span",{className:ce(`${r}-item-separator`,d==null?void 0:d.separator),style:h==null?void 0:h.separator},l)):null},Qx=e=>{const{componentCls:n,antCls:r}=e;return{[n]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${n}-item:empty`]:{display:"none"},[`${n}-item > ${r}-badge-not-a-wrapper:only-child`]:{display:"block"}}}},Yx=e=>{const{componentCls:n}=e;return{[n]:{"&-gap-row-small":{rowGap:e.spaceGapSmallSize},"&-gap-row-middle":{rowGap:e.spaceGapMiddleSize},"&-gap-row-large":{rowGap:e.spaceGapLargeSize},"&-gap-col-small":{columnGap:e.spaceGapSmallSize},"&-gap-col-middle":{columnGap:e.spaceGapMiddleSize},"&-gap-col-large":{columnGap:e.spaceGapLargeSize}}}},Xx=Vn("Space",e=>{const n=_n(e,{spaceGapSmallSize:e.paddingXS,spaceGapMiddleSize:e.padding,spaceGapLargeSize:e.paddingLG});return[Qx(n),Yx(n)]},()=>({}),{resetStyle:!1}),Ts=f.forwardRef((e,n)=>{const{getPrefixCls:r,direction:o,size:s,className:l,style:c,classNames:d,styles:h}=Ur("space"),{size:g=s??"small",align:m,className:v,rootClassName:y,children:C,direction:_,orientation:x,prefixCls:b,split:E,separator:S,style:P,vertical:I,wrap:M=!1,classNames:k,styles:N,...R}=e,[B,z]=Array.isArray(g)?g:[g,g],$=cp(z),j=cp(B),V=up(z),W=up(B),F=Gn(C,{keepEmpty:!0}),[X,J]=Gd(x,I,_),Z=m===void 0&&!J?"center":m,le=S??E,G=r("space",b),[ie,ne]=Xx(G),de={...e,size:g,orientation:X,align:Z},[oe,ee]=kr([d,k],[h,N],{props:de}),K=ce(G,l,ie,`${G}-${X}`,{[`${G}-rtl`]:o==="rtl",[`${G}-align-${Z}`]:Z,[`${G}-gap-row-${z}`]:$,[`${G}-gap-col-${B}`]:j},v,y,ne,oe.root),Y=ce(`${G}-item`,oe.item),se=F.map((Se,Te)=>{const Ce=(Se==null?void 0:Se.key)||`${Y}-${Te}`;return f.createElement(Kx,{prefix:G,classNames:oe,styles:ee,className:Y,key:Ce,index:Te,separator:le,style:ee.item},Se)});if(process.env.NODE_ENV!=="production"){const Se=hn("Space");[["direction","orientation"],["split","separator"]].forEach(([Te,Ce])=>{Se.deprecated(!(Te in e),Te,Ce)})}const fe=f.useMemo(()=>({latestIndex:F.reduce((Te,Ce,te)=>to(Ce)?te:Te,0)}),[F]);if(F.length===0)return null;const xe={};return M&&(xe.flexWrap="wrap"),!j&&W&&(xe.columnGap=B),!$&&V&&(xe.rowGap=z),f.createElement("div",{ref:n,className:K,style:{...xe,...ee.root,...c,...P},...R},f.createElement(Gx,{value:fe},se))});Ts.Compact=tb,Ts.Addon=qx,process.env.NODE_ENV!=="production"&&(Ts.displayName="Space");const Jx=Ts,fp=e=>{const{getPopupContainer:n,getPrefixCls:r,direction:o}=f.useContext(Ot),{prefixCls:s,type:l="default",danger:c,disabled:d,loading:h,onClick:g,htmlType:m,children:v,className:y,menu:C,arrow:_,autoFocus:x,trigger:b,align:E,open:S,onOpenChange:P,placement:I,getPopupContainer:M,href:k,icon:N=f.createElement(Kh,null),title:R,buttonsRender:B=xe=>xe,mouseEnterDelay:z,mouseLeaveDelay:$,overlayClassName:j,overlayStyle:V,destroyOnHidden:W,destroyPopupOnHide:F,dropdownRender:X,popupRender:J,...Z}=e,le=r("dropdown",s),G=`${le}-button`,ne={menu:C,arrow:_,autoFocus:x,align:E,disabled:d,trigger:d?[]:b,onOpenChange:P,getPopupContainer:M||n,mouseEnterDelay:z,mouseLeaveDelay:$,classNames:{root:j},styles:{root:V},destroyOnHidden:W,popupRender:J||X},{compactSize:de,compactItemClassnames:oe}=wl(le,o),ee=ce(G,oe,y);"destroyPopupOnHide"in e&&(ne.destroyPopupOnHide=F),"open"in e&&(ne.open=S),"placement"in e?ne.placement=I:ne.placement=o==="rtl"?"bottomLeft":"bottomRight",process.env.NODE_ENV!=="production"&&hn("Dropdown.Button").deprecated(!1,"Dropdown.Button","Space.Compact + Dropdown + Button");const K=f.createElement(Xf,{type:l,danger:c,disabled:d,loading:h,onClick:g,htmlType:m,href:k,title:R},v),Y=f.createElement(Xf,{type:l,danger:c,icon:N}),[se,fe]=B([K,Y]);return f.createElement(Jx.Compact,{className:ee,size:de,block:!0,...Z},se,f.createElement(op,{...ne},fe))};fp.__ANT_BUTTON=!0;const ew=fp,hp=op;hp.Button=ew;const tw=hp,aS="",pp=({isRollMap:e,setIsRollMap:n,rollIcon:r,normalIcon:o})=>Zt.jsx(Ih,{title:e?"切换为普通地图":"切换为卷帘",placement:"left",children:Zt.jsx("div",{className:"switch-map-mode",onClick:()=>n(!e),children:e?Zt.jsx("img",{src:r,alt:"卷帘模式",className:"map-icon"}):Zt.jsx("img",{src:o,alt:"普通模式",className:"map-icon"})})}),nw="data:image/png;base64,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",rw="data:image/png;base64,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",ow="data:image/png;base64,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",lS="",iw=A.forwardRef(({mapView:e,isRollMap:n,leftLayerGroupRef:r,rightLayerGroupRef:o,sideBySideControl:s,baseMapList:l,baseMapSelectIcon:c})=>{const[d,h]=A.useState(l),[g,m]=A.useState(!1),v=(_,x)=>{if(!e)return;const b=d.map(E=>E.id===_.id?{...E,checked:x}:E);if(h(b),x){const E=tn.tileLayer(_.mapUrl,{id:_.id,maxZoom:18,zIndex:1,pane:"rightPane",zoomOffset:_.zoomOffset||0});o.current.addLayer(E),s&&s.current.setRightLayers(o.current.getLayers())}else o.current.eachLayer(E=>{E.options.id===_.id&&o.current.removeLayer(E)})},y=()=>{if(!e||!o.current)return;o.current.clearLayers();const _=d.find(x=>x.checked);if(_){const x=tn.tileLayer(_.mapUrl,{id:_.id,pane:"rightPane",zoomOffset:_.zoomOffset||0});o.current.addLayer(x)}};A.useEffect(()=>{y()},[]);const C=()=>Zt.jsx("div",{style:{marginLeft:"32px",marginTop:"-34px",backgroundColor:"white",display:"flex",flexDirection:"column",width:"200px",borderRadius:"5px",padding:"10px",gap:"10px",zIndex:1e3},children:d.map(_=>Zt.jsx(jx,{onChange:x=>v(_,x.target.checked),checked:_.checked,style:{width:"200px"},children:Zt.jsx("span",{children:_.name})},_.id))});return Zt.jsx("div",{id:"select-base-map",children:Zt.jsx(tw,{open:g,onOpenChange:m,dropdownRender:C,children:Zt.jsx("div",{onClick:_=>{_.preventDefault(),m(!g)},className:"select-base-map-button",children:Zt.jsx("img",{src:c,alt:"底图选择器",width:25,height:25})})})})}),sw={center:[35.8617,104.1954],zoom:4},aw=A.forwardRef(({mapSettings:e=sw,rollIcon:n=nw,normalIcon:r=rw,baseMapSelectIcon:o=ow,baseMapList:s=[],onIsRollMapChange:l},c)=>{const d=A.useRef(null),h=A.useRef(null),[g,m]=A.useState(),v=A.useRef(null),y=A.useRef(null),[C,_]=A.useState(e.zoom),x=A.useRef(null),b=A.useRef(null),[E,S]=A.useState(!1),P=A.useRef(null),[I,M]=A.useState(Date.now()),k=A.useRef(E);A.useImperativeHandle(c,()=>({addLeftLayers:R=>{!h.current||!v.current||(R.forEach(z=>{z&&z.addTo(v.current)}),x.current&&x.current.setLeftLayers(v.current.getLayers()))},addRightLayers:R=>{!h.current||!y.current||(R.forEach(z=>{z&&z.addTo(y.current)}),x.current&&x.current.setRightLayers(y.current.getLayers()))},clearLeftLayers:()=>{var R;(R=v.current)==null||R.clearLayers()},clearRightLayers:()=>{var R;(R=y.current)==null||R.clearLayers()},getMapInstance:()=>h.current,toggleRollMap:R=>{var B,z,$;if(S(R),R){const j=((B=v.current)==null?void 0:B.getLayers())||[],V=((z=y.current)==null?void 0:z.getLayers())||[];x.current=new tn.Control.sideBySide(j,V),x.current.addTo(h.current)}else($=x.current)==null||$.remove(),x.current=null},getIsRollMap:()=>k.current,getLeftLayersGroup:()=>v.current,getRightLayersGroup:()=>y.current,getMapRef:()=>h.current})),A.useEffect(()=>{if(!d.current||h.current)return;const R=tn.map(d.current,{zoomControl:!1,doubleClickZoom:!1,attributionControl:!1,crs:tn.CRS.EPSG4326}).setView(e.center,e.zoom);R.invalidateSize(),R.createPane("leftPane").style.zIndex="300",R.createPane("rightPane").style.zIndex="300",v.current=tn.layerGroup().addTo(R),y.current=tn.layerGroup().addTo(R);const B=tn.Control.extend({options:{position:"topleft"},onAdd:V=>{const W=tn.DomUtil.create("div","leaflet-control-container"),F=oo(W);F.render(Zt.jsx(Zc,{zoomLevel:C}));const X=()=>{const J=V.getZoom();_(J),F.render(Zt.jsx(Zc,{zoomLevel:J}))};return V.on("zoomend",X),W}}),z=tn.Control.extend({options:{position:"topleft"},onAdd:V=>{const W=tn.DomUtil.create("div","leaflet-control-container"),F=oo(W);return P.current=F,F.render(Zt.jsx(iw,{mapView:V,isRollMap:E,baseMapSelectIcon:o,leftLayerGroupRef:v,rightLayerGroupRef:y,sideBySideControl:x,baseMapList:s},I)),W}}),$=tn.Control.extend({options:{position:"topleft"},onAdd:V=>{const W=tn.DomUtil.create("div","leaflet-control-container"),F=oo(W);return P.current=F,F.render(Zt.jsx(pp,{isRollMap:E,setIsRollMap:S,rollIcon:n,normalIcon:r},I)),W}}),j=()=>m(R.getZoom());return R.on("zoomend",j),R.addControl(new B),tn.control.zoom({position:"topleft"}).addTo(R),R.addControl(new z),R.addControl(new $),h.current=R,()=>{const V=x.current,W=b.current;if(V&&W){V.off("dividermove",W),R.off("move",W);const F=R.getPane("leftPane"),X=R.getPane("rightPane");F&&(F.style.clip=""),X&&(X.style.clip="")}R.off("zoomend",j),R.remove(),h.current=null}},[]);const N=R=>{var $,j,V;if(S(R),k.current=R,!!h.current)if(R){const W=(($=v.current)==null?void 0:$.getLayers())||[],F=((j=y.current)==null?void 0:j.getLayers())||[];x.current=tn.control.sideBySide(W,F),x.current.addTo(h.current),x.current.on("dividermove",()=>{var X;(X=h.current)==null||X.eachLayer(J=>{J instanceof tn.Marker})})}else{(V=x.current)==null||V.remove(),x.current=null;var B=h.current.getPane("leftPane"),z=h.current.getPane("rightPane");B&&(B.style.clip=""),z&&(z.style.clip="")}};return A.useEffect(()=>{h.current&&(N(E),l==null||l(E),P.current&&P.current.render(Zt.jsx(pp,{isRollMap:E,setIsRollMap:S,rollIcon:n,normalIcon:r},Date.now())))},[E,l]),Zt.jsx("div",{ref:d,style:{height:"100%",width:"100%"}})});fn.default=aw,Object.defineProperties(fn,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
208
+ `]:{[`&:hover ${n}-inner`]:{backgroundColor:e.colorPrimaryHover,borderColor:"transparent"}}},{[n]:{"&-indeterminate":{"&":{[`${n}-inner`]:{backgroundColor:`${e.colorBgContainer}`,borderColor:`${e.colorBorder}`,"&:after":{top:"50%",insetInlineStart:"50%",width:e.calc(e.fontSizeLG).div(2).equal(),height:e.calc(e.fontSizeLG).div(2).equal(),backgroundColor:e.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}},[`&:hover ${n}-inner`]:{backgroundColor:`${e.colorBgContainer}`,borderColor:`${e.colorPrimary}`}}}}},{[`${r}-disabled`]:{cursor:"not-allowed"},[`${n}-disabled`]:{[`&, ${n}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${n}-inner`]:{background:e.colorBgContainerDisabled,borderColor:e.colorBorder,"&:after":{borderColor:e.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:e.colorTextDisabled},[`&${n}-indeterminate ${n}-inner::after`]:{background:e.colorTextDisabled}}}]};function Hx(e,n){const r=_n(n,{checkboxCls:`.${e}`,checkboxSize:n.controlInteractiveSize});return Fx(r)}const ip=Vn("Checkbox",(e,{prefixCls:n})=>[Hx(n,e)]),sp=A.createContext(null),Vx=(e,n)=>{const{prefixCls:r,className:o,rootClassName:s,children:l,indeterminate:c=!1,style:d,onMouseEnter:h,onMouseLeave:g,skipGroup:m=!1,disabled:v,classNames:y,styles:C,..._}=e,{getPrefixCls:x,direction:b,className:E,style:S,classNames:P,styles:I}=Ur("checkbox"),M=f.useContext(sp),{isFormItemInput:k}=f.useContext(fs),N=f.useContext(hl),R=((M==null?void 0:M.disabled)||v)??N,B={...e,indeterminate:c,disabled:R},[z,$]=kr([P,y],[I,C],{props:B}),j=f.useRef(_.value),V=f.useRef(null),W=Sr(n,V);if(process.env.NODE_ENV!=="production"){const oe=hn("Checkbox");process.env.NODE_ENV!=="production"&&oe("checked"in _||!!M||!("value"in _),"usage","`value` is not a valid prop, do you mean `checked`?")}f.useEffect(()=>{M==null||M.registerValue(_.value)},[]),f.useEffect(()=>{if(!m)return _.value!==j.current&&(M==null||M.cancelValue(j.current),M==null||M.registerValue(_.value),j.current=_.value),()=>M==null?void 0:M.cancelValue(_.value)},[_.value]),f.useEffect(()=>{var oe;(oe=V.current)!=null&&oe.input&&(V.current.input.indeterminate=c)},[c]);const F=x("checkbox",r),X=no(F),[J,Z]=ip(F,X),le={..._};M&&!m&&(le.onChange=(...oe)=>{_.onChange&&_.onChange.apply(_,oe),M.toggleOption&&M.toggleOption({label:l,value:_.value})},le.name=M.name,le.checked=M.value.includes(_.value));const G=ce(`${F}-wrapper`,{[`${F}-rtl`]:b==="rtl",[`${F}-wrapper-checked`]:le.checked,[`${F}-wrapper-disabled`]:R,[`${F}-wrapper-in-form-item`]:k},E,o,z.root,s,Z,X,J),ie=ce(z.icon,{[`${F}-indeterminate`]:c},_l,J),[ne,de]=Dx(le.onClick);return f.createElement(If,{component:"Checkbox",disabled:R},f.createElement("label",{className:G,style:{...$.root,...S,...d},onMouseEnter:h,onMouseLeave:g,onClick:ne},f.createElement(zx,{...le,onClick:de,prefixCls:F,className:ie,style:$.icon,disabled:R,ref:W}),to(l)&&f.createElement("span",{className:ce(`${F}-label`,z.label),style:$.label},l)))},ap=f.forwardRef(Vx);process.env.NODE_ENV!=="production"&&(ap.displayName="Checkbox");const lp=ap,Wx=f.forwardRef((e,n)=>{const{defaultValue:r,children:o,options:s=[],prefixCls:l,className:c,rootClassName:d,style:h,onChange:g,role:m="group",...v}=e,{getPrefixCls:y,direction:C}=f.useContext(Ot),[_,x]=f.useState(v.value||r||[]),[b,E]=f.useState([]);f.useEffect(()=>{"value"in v&&x(v.value||[])},[v.value]);const S=f.useMemo(()=>s.map(F=>typeof F=="string"||typeof F=="number"?{label:F,value:F}:F),[s]),P=F=>{E(X=>X.filter(J=>J!==F))},I=F=>{E(X=>[].concat(bn(X),[F]))},M=F=>{const X=_.indexOf(F.value),J=bn(_);X===-1?J.push(F.value):J.splice(X,1),"value"in v||x(J),g==null||g(J.filter(Z=>b.includes(Z)).sort((Z,le)=>{const G=S.findIndex(ne=>ne.value===Z),ie=S.findIndex(ne=>ne.value===le);return G-ie}))},k=y("checkbox",l),N=`${k}-group`,R=no(k),[B,z]=ip(k,R),$=Sn(v,["value","disabled"]),j=s.length?S.map(F=>f.createElement(lp,{prefixCls:k,key:F.value.toString(),disabled:"disabled"in F?F.disabled:v.disabled,value:F.value,checked:_.includes(F.value),onChange:F.onChange,className:ce(`${N}-item`,F.className),style:F.style,title:F.title,id:F.id,required:F.required},F.label)):o,V=f.useMemo(()=>({toggleOption:M,value:_,disabled:v.disabled,name:v.name,registerValue:I,cancelValue:P}),[M,_,v.disabled,v.name,I,P]),W=ce(N,{[`${N}-rtl`]:C==="rtl"},c,d,z,R,B);return f.createElement("div",{className:W,style:h,role:m,...$,ref:n},f.createElement(sp.Provider,{value:V},j))}),Is=lp;Is.Group=Wx,Is.__ANT_CHECKBOX=!0,process.env.NODE_ENV!=="production"&&(Is.displayName="Checkbox");const jx=Is,Zx=e=>{const{componentCls:n,borderRadius:r,paddingSM:o,colorBorder:s,paddingXS:l,fontSizeLG:c,fontSizeSM:d,borderRadiusLG:h,borderRadiusSM:g,colorBgContainerDisabled:m,lineWidth:v,antCls:y}=e,[C,_]=gr(y,"space");return{[n]:[{display:"inline-flex",alignItems:"center",gap:0,paddingInline:o,margin:0,borderWidth:v,borderStyle:"solid",borderRadius:r,"&:hover":{zIndex:0},[`&${n}-disabled`]:{color:e.colorTextDisabled},"&-large":{fontSize:c,borderRadius:h},"&-small":{paddingInline:l,borderRadius:g,fontSize:d},"&-compact-last-item":{borderEndStartRadius:0,borderStartStartRadius:0},"&-compact-first-item":{borderEndEndRadius:0,borderStartEndRadius:0},"&-compact-item:not(:first-child):not(:last-child)":{borderRadius:0},"&-compact-item:not(:last-child)":{borderInlineEndWidth:0},"&-compact-item:not(:first-child)":{borderInlineStartWidth:0}},{[C("addon-border-color")]:s,[C("addon-background")]:m,[C("addon-border-color-outlined")]:s,[C("addon-background-filled")]:m,borderColor:_("addon-border-color"),background:_("addon-background"),"&-variant-outlined":{[C("addon-border-color")]:_("addon-border-color-outlined")},"&-variant-filled":{[C("addon-border-color")]:"transparent",[C("addon-background")]:_("addon-background-filled"),[`&${n}-disabled`]:{[C("addon-border-color")]:s,[C("addon-background")]:m}},"&-variant-borderless":{border:"none",background:"transparent"},"&-variant-underlined":{border:"none",background:"transparent"}},{"&-status-error":{[C("addon-border-color-outlined")]:e.colorError,[C("addon-background-filled")]:e.colorErrorBg,color:e.colorError},"&-status-warning":{[C("addon-border-color-outlined")]:e.colorWarning,[C("addon-background-filled")]:e.colorWarningBg,color:e.colorWarning}}]}},Ux=Vn(["Space","Addon"],e=>[Zx(e),Yf(e,{focus:!1})]),qx=A.forwardRef((e,n)=>{const{className:r,children:o,style:s,prefixCls:l,variant:c="outlined",disabled:d,status:h,...g}=e,{getPrefixCls:m,direction:v}=A.useContext(Ot),y=m("space-addon",l),[C,_]=Ux(y),{compactItemClassnames:x,compactSize:b}=wl(y,v),E=x0(y,h),S=ce(y,C,x,_,`${y}-variant-${c}`,E,{[`${y}-${b}`]:b,[`${y}-disabled`]:d},r);return A.createElement("div",{ref:n,className:S,style:s,...g},o)});function cp(e){return["small","middle","large"].includes(e)}function up(e){return e?typeof e=="number"&&!Number.isNaN(e):!1}const dp=A.createContext({latestIndex:0}),Gx=dp.Provider,Kx=e=>{const{className:n,prefix:r,index:o,children:s,separator:l,style:c,classNames:d,styles:h}=e,{latestIndex:g}=f.useContext(dp);return to(s)?f.createElement(f.Fragment,null,f.createElement("div",{className:n,style:c},s),o<g&&l&&f.createElement("span",{className:ce(`${r}-item-separator`,d==null?void 0:d.separator),style:h==null?void 0:h.separator},l)):null},Qx=e=>{const{componentCls:n,antCls:r}=e;return{[n]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${n}-item:empty`]:{display:"none"},[`${n}-item > ${r}-badge-not-a-wrapper:only-child`]:{display:"block"}}}},Yx=e=>{const{componentCls:n}=e;return{[n]:{"&-gap-row-small":{rowGap:e.spaceGapSmallSize},"&-gap-row-middle":{rowGap:e.spaceGapMiddleSize},"&-gap-row-large":{rowGap:e.spaceGapLargeSize},"&-gap-col-small":{columnGap:e.spaceGapSmallSize},"&-gap-col-middle":{columnGap:e.spaceGapMiddleSize},"&-gap-col-large":{columnGap:e.spaceGapLargeSize}}}},Xx=Vn("Space",e=>{const n=_n(e,{spaceGapSmallSize:e.paddingXS,spaceGapMiddleSize:e.padding,spaceGapLargeSize:e.paddingLG});return[Qx(n),Yx(n)]},()=>({}),{resetStyle:!1}),Ts=f.forwardRef((e,n)=>{const{getPrefixCls:r,direction:o,size:s,className:l,style:c,classNames:d,styles:h}=Ur("space"),{size:g=s??"small",align:m,className:v,rootClassName:y,children:C,direction:_,orientation:x,prefixCls:b,split:E,separator:S,style:P,vertical:I,wrap:M=!1,classNames:k,styles:N,...R}=e,[B,z]=Array.isArray(g)?g:[g,g],$=cp(z),j=cp(B),V=up(z),W=up(B),F=Gn(C,{keepEmpty:!0}),[X,J]=Gd(x,I,_),Z=m===void 0&&!J?"center":m,le=S??E,G=r("space",b),[ie,ne]=Xx(G),de={...e,size:g,orientation:X,align:Z},[oe,ee]=kr([d,k],[h,N],{props:de}),K=ce(G,l,ie,`${G}-${X}`,{[`${G}-rtl`]:o==="rtl",[`${G}-align-${Z}`]:Z,[`${G}-gap-row-${z}`]:$,[`${G}-gap-col-${B}`]:j},v,y,ne,oe.root),Y=ce(`${G}-item`,oe.item),se=F.map((Se,Te)=>{const Ce=(Se==null?void 0:Se.key)||`${Y}-${Te}`;return f.createElement(Kx,{prefix:G,classNames:oe,styles:ee,className:Y,key:Ce,index:Te,separator:le,style:ee.item},Se)});if(process.env.NODE_ENV!=="production"){const Se=hn("Space");[["direction","orientation"],["split","separator"]].forEach(([Te,Ce])=>{Se.deprecated(!(Te in e),Te,Ce)})}const fe=f.useMemo(()=>({latestIndex:F.reduce((Te,Ce,te)=>to(Ce)?te:Te,0)}),[F]);if(F.length===0)return null;const xe={};return M&&(xe.flexWrap="wrap"),!j&&W&&(xe.columnGap=B),!$&&V&&(xe.rowGap=z),f.createElement("div",{ref:n,className:K,style:{...xe,...ee.root,...c,...P},...R},f.createElement(Gx,{value:fe},se))});Ts.Compact=tb,Ts.Addon=qx,process.env.NODE_ENV!=="production"&&(Ts.displayName="Space");const Jx=Ts,fp=e=>{const{getPopupContainer:n,getPrefixCls:r,direction:o}=f.useContext(Ot),{prefixCls:s,type:l="default",danger:c,disabled:d,loading:h,onClick:g,htmlType:m,children:v,className:y,menu:C,arrow:_,autoFocus:x,trigger:b,align:E,open:S,onOpenChange:P,placement:I,getPopupContainer:M,href:k,icon:N=f.createElement(Kh,null),title:R,buttonsRender:B=xe=>xe,mouseEnterDelay:z,mouseLeaveDelay:$,overlayClassName:j,overlayStyle:V,destroyOnHidden:W,destroyPopupOnHide:F,dropdownRender:X,popupRender:J,...Z}=e,le=r("dropdown",s),G=`${le}-button`,ne={menu:C,arrow:_,autoFocus:x,align:E,disabled:d,trigger:d?[]:b,onOpenChange:P,getPopupContainer:M||n,mouseEnterDelay:z,mouseLeaveDelay:$,classNames:{root:j},styles:{root:V},destroyOnHidden:W,popupRender:J||X},{compactSize:de,compactItemClassnames:oe}=wl(le,o),ee=ce(G,oe,y);"destroyPopupOnHide"in e&&(ne.destroyPopupOnHide=F),"open"in e&&(ne.open=S),"placement"in e?ne.placement=I:ne.placement=o==="rtl"?"bottomLeft":"bottomRight",process.env.NODE_ENV!=="production"&&hn("Dropdown.Button").deprecated(!1,"Dropdown.Button","Space.Compact + Dropdown + Button");const K=f.createElement(Xf,{type:l,danger:c,disabled:d,loading:h,onClick:g,htmlType:m,href:k,title:R},v),Y=f.createElement(Xf,{type:l,danger:c,icon:N}),[se,fe]=B([K,Y]);return f.createElement(Jx.Compact,{className:ee,size:de,block:!0,...Z},se,f.createElement(op,{...ne},fe))};fp.__ANT_BUTTON=!0;const ew=fp,hp=op;hp.Button=ew;const tw=hp,aS="",pp=({isRollMap:e,setIsRollMap:n,rollIcon:r,normalIcon:o})=>Zt.jsx(Ih,{title:e?"切换为普通地图":"切换为卷帘",placement:"left",children:Zt.jsx("div",{className:"switch-map-mode",onClick:()=>n(!e),children:e?Zt.jsx("img",{src:r,alt:"卷帘模式",className:"map-icon"}):Zt.jsx("img",{src:o,alt:"普通模式",className:"map-icon"})})}),nw="data:image/png;base64,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",rw="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAQAElEQVR4AeydjV3cutLGgUYuVHKgg5AGTqgEUgncBpLTAZxKyNtIeJ+/YnH3e62RZMn25OeJd72WNHo0j2ZG8i5XF/6vOQJfvnx5vL+/f5V8SN4lr1xrrpgrcOEEaWgEIsE1ZLi8vHySGrcSjmv9d8s1ffaue+J1XfZjagScIFMjPrQnw78WCd719hQBuOeZe3WfHw0QcII0AJ0mRY5nziMkkGTEfX5LBQScIBVAPVelPMI33XPKc+jjreNWZVLu3yrsb+wIVCSIXSkveRCBvw5e9YtVEXCCVIX3cOVXV1fJxq4yJO+HK/Sr1RBwglSD1iteAgJOkCWMovehGgJOkGrQesVLQGCeBFkC8t6HWSDgBJnFMLmSrRBwgrRC3tudBQJOkAmHSZt915Lbj4+P5CVbylBWklx2wi4uriknSOEhxYAl3ySPX79+fb7/85QuT+h+XF5evkte1aRlV5wHGF9VPtSlejm/0gai9mjTUq/U8eMYAk6QHWRS3soog0fQ+fNxdQxY8ix50qwfHympMetTJ97oG+2oPdrkkflP4kgv2k/pkt+7g4ATZAeQc29ldJACQuANEGb1zcfVz1VR+/NP4kAaeZrwHZPBy7iHSUTfCXIGsEgInSFFDJMgBIZ4pnQ3H18PXiZ4mIEs7l1GDI8T5AhIEAJD0iyMl3jSGVIcuXtWlyNZyI9COKa+OlmODKETZAMYGUoMn/AUMYfYuGNxL/GCJP+BLOr/o8TDsI1hdoIIDBkF4RO5RPAWulTj6L1OvpiFpwxhmDBxr6IRWzVBZAQQI3gLYeEzp0AYDsjy6VWGa6s8rZIgO8RY5cCP7DREedJKGD8e8TiyzKJuWxVBnBhm210tUVZBECeGmRi7BVdHlEUTRMTY/N2p3cFe0PvJu7JJFFbCJldgqgYXSxCR41F7F+d+d2oqnJfaDkRZ9K9ALo4gIsYtSaXI0cPG3i/p8aJdbPZUHnS++/nzpy5dvqQyRoWo54Y6JNTFkiz1vKXWVfh+SLLYRH4xBBExYjjF07It3P4mGQIRRIabHz9+PPzzzz/fJS+SLGNW+V+SNwl1fadutXEnwkAc5AEiiQBZ7ai85QhE4ekDxsJSQY9lFkEQDQi7wS3CqTcZ55OM9FKySYZJDVSEgTjIyw5pImEmsz3h8U0kJexaxL7S7AkicpBr4DWmMIJfMoAQLokQkOJOxvl9ioZT25Ben4SRzpveJa0q2914E35TePZ7J7MliIgRQ6opcg2I8SBS3MjwQrhks5s2paTzHlmkSW0vB0nITfAmLUJedTH/mCVBRI4pQipIgbe4GYhBQpyPeOMaIlnUp5i71J5gGCtIMsuQa3YEETlCjFvRzgIxZEDRW/yq2FbTqgeyfI8hmJSp1Ve8ySxDrlkRROQg3xj7ZwM03knHFjGSSs785oEoLCPjVR7UnRpEgSRPjKHqn80xG4KwfKjVkRrhwGqJsWulUxCFMYwk2W2/x/ezIIg2/l4VBhT/foLqZIk2hFI9Dk4rnXaIUnxSgiRMeK36l9Ju9wSBHOpQ6QSP/QsnhoA9dQxECTmKjLroIoUmp28aW/auTqnQ/LNuCSI3HJZxhVBJchBOsVzL/kWNOFvqLu+AKGxAyqhL5yeMMd816XYZuFuCaMYiGS9GDg1uDKeKzoTLo8PxHokoMZEvGXaRvE+10Xu8c0c+6ZIgcr0AVpIceIxudrx///49W+8lkrDpSNhVlCQa85Lh1hFzT7/cHUEEVElyEFKRa9TeNU5F/t/UAiJVcpnUNlLuF1EgyY3KlCL7dY+Je1cEGQAq4jkUor0Mm32lBlC2UOyw6NQbyS9EEiYg9k6KeBOFwfy+cFfPb3VDECXljwBUwgRVzwNJZYm6atQxGNZoo1J/nihTQ5fcOtFLgjcZ3Z9TbWpi62ozsQuCiBw8PlIEYBkT+cYcEvH/ylDGeAW+/9FN/iSdDx4DSQi5Dn6ecrEnkjQniMjBw2ysWKVgeOje4O41UGOM7lD5Sa9JT/QN3ww81rDIzsrb3bHPe7s+9AmSWELIre6IJIRbRcLtrYoT3+wTJLGC3NsFRCly8M29WZAjYoZBSQhPPr+vASkGYXGhe88R+xLP6g/Eh9S5JGH5lwccm+6RNCXIsGKVC8CvIRmfFTmiQXHGqCTh24A6830TJNfAqLqJqA9FSdKkE0OjzQii0IrVilwXGsgx9MVPHSGwQZLciet2sJUmvWtCEHWYvCM3KXdyNDGZ8Y0OJMl+PEVheLN8ZHKCiBzElmwGjkd6/05cOMDvf+JXukJgIEluToLNNMlHJiUII6fZIDspVxI7u4Scvq9VNkiSA0EgSU4FlrKTEkTeg5wDsegayogc7HPkxrWhLv9vOgQGkrAEnNMo+UiW/aQ2PilBcr2HkyN1ePu6fyBJVmica0OpiExGEHkPVq1ylnTZUXbPkTrCnd0vkvDIfM4CzaQPNU5CEJEjd9XqTXsdJHqdDberY0Rg7GM2B6tXJDFZqDUJQeQW8R4HOzvmogA5t6M8phq/pxME5EVyVyEnS9irE0Tegx9bMCdWIocn5Z0Ydkk1SpBksK2Sau3VVZ0gOd5DZfkVc8879oZtGRdEkhfG2Noblc2KTMa0W5UgA8PNiXnP3+kYA67fcx6B379/Ez5bnzu7HmzsfEPGO6oSJIfhhFbGPnmxGSEgL0I+AklMWufY2JgGqxFkYLbVe3S0pDsGRr8nBwGRhC+4WUPpql6kGkFymC3vkbWZlDNYXrYNAjljnmNr53pbhSA53kNAdfv963Ng+ud2BORFCLWsE2M1L1KFIBmMDr+5ZIfZS84cAcIsJLkbGTZ3sq3iBMn0HuZk7WQv/cNZIDB4EXbZLfpW8SLFCSIm/23pncrgPUjW9HIlh3fzEAJ4EOTQZyevZdje0XqLEkTeg1Ur0665cg/3HkeHaT0fZHqR4s9oFSXI1dWVdWfTvcd6ODCmp3gQZMy9W/fIBq0RzFY98U1RgsgLuPeIyPrZjECOF7Ha4DFlixFE4RUPJRJiHWvr6HUB4rnHUXRW+4HJgwgtknXTRK2ye0cxglgTJJVzcuwNS/6FudegSZN9EdMXq2RT1lB/D7ZiBFHNJtYOD6upuB+OwB4C5iXfvZqMF4oQZAivklUQ03mc3fokZ3J7XmBeCOBFpLEl1CoWZhUhiFYO/lJHkg95j67+KExyB7xAdQSUdJuW/zX5FgmzihBEnTCFV5ohPP+obmKzb8AaYZgWjHbRyibIEF4lKyOGOzl2R2Me7yfVUpPoL6OtFAmzsgni4dWk9rLKxhSKW5N1U+i/CXI2QTy82oTTX1dCwBRmyfOwN5elUjZB1LqHVwLBj3oIEGapdutqVrJ9qq3PI4sgQ/7xWdnYF3KZvno1Fiy/LyCgSMUaZrUjiDT/j8RyWGYDSzteZlYInFTWajNZeUiWB1GCbmLn4DJPouEfOgKbCAw2k0wS5SGmLYjYdhZB5PaSG5fCvrwb0ddZYSrLkY86P379+vU5it43+6tKUmtJh2kSjwBkEUSVJDfu+cfFhYz/FiLc399/aMJ4lzwhmnC+RdH7Z8mr7nnnXpXJXpHReM36EDbJHkQdZgJKnshVLhxmgmQMmKWTQdm5/yfMrjF4DF+DPdbgr7lXZZ4pqzrMgz13/KT/5Is7ZoJIWVOCPsSSKr6uQ8b9KiN/V6+Tva7KxINfNX8VSYo8ZxQrndHZtB+i/v11of8sh5kgxgR9dd5DxozXeNXgFJv5RbQnEe6dulXvao5hck22IaOtBlzNBJHbT54JNbDWGSAoO7f/MGD1Ga9RjBwbGERvkjwOG3XM7qXwTLYhi61GYMwEUQXJA6MEPblzame2hwYz+y/6nul8IMmZexb1sdGGkm01gjYpQdTo/0lWcSgEKhpWnQBt0r/Zd0KPqT6y2FATglgAWYUHUWhFSIVYMEouoxBiTXsmJhvSmJhIMsaD7A2YGrMOvqlzewp0fkGh1eSrTGqzdjjXC+pWGypDEBk/Gyt7O7tsVkXRYJgMQKsJW7vFsb5zZ+nEDGnq4NSjiq5q0zqBqKj5YNxatJussDBC15M2dswmsKHkBlUAmz1WJ9elEza2h9+nB9ENYTlSFR3c2cWNR1F7exXp2tkjlk89S6ewqywdTcQ8q1jBGzSAWQ/H5aginLrHhzGUnmdt7JSNGDG6PVWndAo2ptxxa/k8EERK3+qGWsuRxv7sFWPFJqz/733S0QUGoaE6XXtZGR+bpabfupoQU+yMzdjgBAJBRI7uZ54NgIJ73njfzUtNNGMfH6mlM9iEga3VgLVeYYONdanbgT5BkpDTXUlxBrWR4gdUG3FJhD4YL44ouoZbmoV4x8CVjWFwvXuOXfWZbL4pZL7qDtBdTQ+8J5RADnzU9JLp+bSmGk/T+Kwm4AiJJuK/rxQzz1J5daI7Y9Rs05y0Peigsdk6pNMcJ2H6cB1yEF7NTQR6c2OcG2at9DU+HtJK3c12A0GsGy+bFU3+WqBP/t2Ac52UTs2x7EGHAzh1N1YHdNy7pBDrhRDL+msRexVOfOH0Y88TK9NRc5ZnlWqr33zisHRQk82/hFgYGmKpo0kZ5U1Pw3cDmrR/otEeZsrujJGxYsxO4NbjR2/S++VK//GHSh561PCITvw9Q9Mvfh+pr+Tl5sap8ex1siNS6VW3PRsQoYON4UEuBCokuSHm2ruzowtS+unnz583Ham0pQo46kIzI+h5/MBG4/cg6X0/5E063kjfMI6BIBrUQJIfP37QgTvd8ADYp4QyqXKqvmOfSZenQVA6sDq13Snvl67NdFTMzCw9ZXeT2pLRBe8vjG4kZ23smE0kNfq/m9+O1cd16YOd3WkCvkPPWOyTIPGCPgyxF2Q5JtaBULnvx+o8dl36fB+kefgSMTp1lq7MPMip22p8xri1aDe5L8IIorwcG/Nz15MbVAER4KTtSSfsbA+/PYKorjGH1VhXsXfBYIwBseQ9Ldosqf/Yur58+WLd2DbZrIkgYpupMYGwCoIIH+LYKWPt2XgP2UDuYbIhjYnJZk0EGXpoabC7x0OGvtQ4kQ/suewKDb0RN1eot9cqLTZksdXQ/0kJomTI6h6DsnP6jxlLYQ/L5+bBGdFfVh9pY8Sty7jF+IiReQzMBJGxmxtdxlCd78VAkjvdORYr3Tr6+CXPwcpejbpHKzH1jZp0kifZHFs1E0QrUpaBMcWPUw9CyfYiSTSwJXMSwqpu94NK4negrmQbMtpqaNpMEJW2PFbBl1CSZwC1NesDkki+iyQYdU5eQkgV1upnDYhR+YwVLPPzaTkEsXgQoJnrdwPQPUtEEsKiz43YkZWBM6tiD0NIlUOwkU12e1uy9xh6YsbMTBAGW40zeDqNPxQPrs6D7KIj7MImGR5FEgijM38j5EX4vPB6ELzFjYjB7u7q//CQEnTT5Cq8k+00jpmZIEMFloats8DQ5HJODJyEPYwXnT93enk9iHnm20dp/lc0aSRPVc4e5QAACo5JREFUrkw4OT3PIogUtgygEyRnxNZdNtl2chJ0oM4iiCqwJOr8CTJ+SUXF/XAExiGgBN1qM+YEHc1yCWIJsS7k9v6mcRdHYCwC1vxD9VuiHBX7c2QRRHEyBLEokOwq/6jr/68VAYXzJg8y2KgZtiyC0KoUNxFELjM54aI9lw4RqKySbMVEDkUq2St/2QQRNqY8RC7TwyyB58d5BGQrpuVdJeg8MHq+gRN3lCAIYdaJJg5/JM/jHuQwNH51BwGrrSi8skQ3W61nE0RKQBCLIqt87GQLfX9zFoEhvErOWUuEVyiXTRAqEcNN38NWJ/jFb6pwcQQOIiAbMYXiCq9Mof+uEkUIokrxIjolH7eaITzUSoZtPQXUU6t9WKIaNbd9FCFIRph1oQTMNENsd8PfLREB/jSapV/yOjy6Y520t5osQhBqtIZZKmedIWjWZcEIWG2jVHgFtMUIosqsjCVZN61zq00/FoqAQm9sIjk5Bw5FNNn7H9SDFCOIlOLLPKZvzcklerLOaLh8ImC1CZUrRg6UKUYQKpNYN2bciwg8P/4gkOM9FF6NXVH909iZ/4sSBC+i9kyrB2K+exGB58cFD7OabEE2VCw5vxj+FSUIdSqxci8CEC4mBDK9R5G9j03FixNEleNBTAm7ZgDTzKE2/VgIAjk2oAimaP4BpMUJIiVJ1q1xILmIk4SRWaHIezD2ppUrRS5VfkCvOEGGcc3xIvwNdBNIQ9t+miECIkfW31LXxFzcewCjjSCUPCFSNsuLyM0+n6jeP1ogAjljXst7AHMVglCxxOxFVJZntNgo0ks/lo6AvAdjbX6iQhNyFe8B7tUIIqVzvIh5qY9OucwLAXkPcg+T0jW9BwpVIwiVS3K8yLX1YTW168dMEBjG2JxzaiKu5j2AsCpBpHyWF9HsQMKO+0VXl4UhoNDqljG2dktlq6xcbepTlSA0JJLAcDwJb8/K7g24XwFpnmF26/P3fSDAmGpsXzO0Cb9ImVF+VNHqBEGLTKaz/JcDJCq4dIaAyJG1Uimbsu61JSExCUHkRQi1TE/6Dr3xfGQAYgmn+/t7JjzzqpXI8SSbMkclKRhOQpBBIZ7RMj2CQnmBQj5iXu2gDpf2CCi0ghiIVRn+hPQk3gMFJyOIGI8XyUqq5JYhSQ649NmlEQKQQ2OI9zBroIkyy4ZSG56MICgmkuAWEd5ahHzkGaANhb1IQwQYs1xySH0S8xz7URVpx6QEQbVhBjCHWqojksRXtgTGHA6RgzHL8hzqZ/jrXDpPekxOEHkRQq27zF4GwAE+sx4vXhkBxkieI2vFChWHiZWXk8rkBKF3A0lyVrWoJpCEFy79IjCQIytvFDkmW7XaRbIJQVBCJGElIjeevNaS4TuzFHW69IMAY6KxIazKIod6RN6Brejl9EczgtBVzQysSOTkI1QTPAkDwps2ktcqukseEZ5N0pnVutnmWNKfMSGsyiVHk7xjczSbEkRepEQ+Qn8YkFcGhjdzEun8qDDkXfKEaNL4pvOzhP7Mbt9H/WEs3jUGueS4EBZMoKqq3dGUIHR7IEkJIBgYjCp7YNBrCiEEERGO5WL050n3YGxTqJPdhshxq/4U0RdyyDZyQ/DsPjUnCD0QEC8C5JihcMtYwajYJ+l+5pUxoeMYMs/ie/rqD56PnGPsWB29D1vAJo7eMOEHXRCE/gqQ7wDD60yBJE8aMAwws6o6xaVb0HFs7ZqVyUnGkGlslUXvI2+SjuQc2fWqHn7bqllSvtuBbggyKPbfQiThG4khPMEYh7p7Oo039j9ak7Ajf9518j/YKgR81ZiV+s7O248fP0qE28UQ6oog8iKsaPFQY6nYk5mavKQrb3J1dWX5m3v/KTbqBSoSOWK+kUr2Y62//fz5M3cD+Vjd5utdEYReQBLNSMwiJUnSdchFv8+JSNWFBxExQk6kUKhIvjH0u0tyoFt3BEGpDZLgUbiULRrQGHJ15U2yOzZhBSJH8BpgWbDZ5nsdp/rSJUFQeCAJLreUJ6FaQi6IQtjVxYyMUr2LiMETC68iRkmvQbfxHDe86FW6JQiADSR5UMhVYgmYKqMwE0KSVXuTCMaps8gRNjJ1T6lcQ1WFA3IwAYY3vf7XNUEADZLoXGx1S3XFI3oTnuVyokRUhjPE0ApV2OEfLhU7yRO99JiQH+pg9wRBaUgiKbVPQpWb4kTZQGOHGMXDUKKB3pZyN7q/93IWBIlaVyQJTayaKLWJAcAixwNjyOu5yKwIAqgALKBJ7IqtcFHvhmwRRYZTfBbdaKvpS/omeVQo9aGwhzyvVl/DQ6kaO34jrWmfUxufHUHooIAOgIsoDCqXakggigznXQZEQl9qt7iGrkl1ihTfhsdDquQYFxcXm/qQjN9ozEquRm7WX/X1LAkCIgI8/PxLZZLQFMKq17OI8o5hYWBcnJNIZ34xP3qLZ+FWnfBq42kuyfixsZwtQWKHRBSS95ohV2yK87UGnadWuyeLCBF2vCG0iE0IxT5GTY8LPlGCh2ds4oW5nmdPEIDXQIQBkfFOZQA0u0mWDxnhp3eRcZbeM6C9k6I2AyF0jl4ihE/CpLqn2FFs1iHVTl8uFkEQOgVJJHgTNp9qJfA0dUw+CaO85RXCSF6ZwREZbnhkXWdzIkxZCaESdT1SL21I8BCBEGp7ykliE4swSc09pNrsEK8XQxA6g4gkb5o17yStDAU1EIgQft5fuoSwTMZLmPPOe25IEcqoPCSgDr6S+8Q11TG5t1KbW4f0INeYKBHfarr6m8URBMREkpjAk5vMcvWEfsxA8BoQo5svOJXGbJEEiSBBFFw+M5yutQi71OwiD4gRvcaicV00QaJpiighN3GiRETM501iLNZrbKKzCoLQYZEkhl0xP1n0zEefC8rqiBGxWw1BYoedKBGJUed1EeMAJKsjSMRghyglv+Ibm5jzefXEiIO3WoJEAAaihO8nKEe5kbReHo6qTX0OpFD/b7SwseiVqRRgV0+QTbAGspDQQ5S1eJVAjEgKMNjEZO2vnSAHLAAjkWx6lQdt0s3uUe0DXePSL/oiT8Ey7WUkBh+47CPgBNnHZOuKiMLq1wvfgpNR4VniKticNiCDl5D+dxCCvqhfq1im3RpMw5tSBDE0Pb8iMirIEv5ehQwNokCY+KMSvRCG5Wset+FRFAjx6SWkfy86zmbwnSAZQyWDgzDht2QhjORSs/QnaQhlVD1GidHqZdGDOt9oQ21Chgfal5Bk30m37xLaLtro2ipzghQecRnlJ2kIZWSwzOIYbSQPTxtbDBevQF14BIQ672hDbUKGpeRIhUckrzonSB5+SaVlyJCHWZ/ZP6msPEUom1TIb85GwAmSDaFXsGQEZkCQJcPvfesdASdI7yPk+jVFwAnSFH5vvHcEnCC9j5Dr1xQBJ0hT+L3x3hFYN0Eajc7v37+Tl3lV5t9G6q66WSdIm+G3GHsyqdp0bVmtOkEajKc2DNlJR8a2zvNfKfePrdfvO4OAE+QMQLU+/vj44Psmo6pPuXdUhX7TaAScIKOhKnujvAiPoPO7XadCJ+7hwcNT95RVzGvbQsAJsgVHuTdjahpIwmPzfM03hlCQgQcT+UITX32N18dU6fcURuD/AQAA//8CxurwAAAABklEQVQDAHaQEGrigLbJAAAAAElFTkSuQmCC",ow="data:image/png;base64,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",lS="",iw=A.forwardRef(({mapView:e,isRollMap:n,leftLayerGroupRef:r,rightLayerGroupRef:o,sideBySideControl:s,baseMapList:l,baseMapSelectIcon:c})=>{const[d,h]=A.useState(l),[g,m]=A.useState(!1),v=(_,x)=>{if(!e)return;const b=d.map(E=>E.id===_.id?{...E,checked:x}:E);if(h(b),x){const E=tn.tileLayer(_.mapUrl,{id:_.id,maxZoom:18,zIndex:1,pane:"rightPane",zoomOffset:_.zoomOffset||0});o.current.addLayer(E),s&&s.current&&s.current.setRightLayers(o.current.getLayers())}else o.current.eachLayer(E=>{E.options.id===_.id&&o.current.removeLayer(E)})},y=()=>{if(!e||!o.current)return;o.current.clearLayers();const _=d.find(x=>x.checked);if(_){const x=tn.tileLayer(_.mapUrl,{id:_.id,pane:"rightPane",zoomOffset:_.zoomOffset||0});o.current.addLayer(x)}};A.useEffect(()=>{y()},[]);const C=()=>Zt.jsx("div",{style:{marginLeft:"32px",marginTop:"-34px",backgroundColor:"white",display:"flex",flexDirection:"column",width:"200px",borderRadius:"5px",padding:"10px",gap:"10px",zIndex:1e3},children:d.map(_=>Zt.jsx(jx,{onChange:x=>v(_,x.target.checked),checked:_.checked,style:{width:"200px"},children:Zt.jsx("span",{children:_.name})},_.id))});return Zt.jsx("div",{id:"select-base-map",children:Zt.jsx(tw,{open:g,onOpenChange:m,dropdownRender:C,children:Zt.jsx("div",{onClick:_=>{_.preventDefault(),m(!g)},className:"select-base-map-button",children:Zt.jsx("img",{src:c,alt:"底图选择器",width:25,height:25})})})})}),sw={center:[35.8617,104.1954],zoom:4},aw=A.forwardRef(({mapSettings:e=sw,rollIcon:n=nw,normalIcon:r=rw,baseMapSelectIcon:o=ow,baseMapList:s=[],onIsRollMapChange:l},c)=>{const d=A.useRef(null),h=A.useRef(null),[g,m]=A.useState(),v=A.useRef(null),y=A.useRef(null),[C,_]=A.useState(e.zoom),x=A.useRef(null),b=A.useRef(null),[E,S]=A.useState(!1),P=A.useRef(null),[I,M]=A.useState(Date.now()),k=A.useRef(E);A.useImperativeHandle(c,()=>({addLeftLayers:R=>{!h.current||!v.current||(R.forEach(z=>{z&&z.addTo(v.current)}),x.current&&x.current.setLeftLayers(v.current.getLayers()))},addRightLayers:R=>{!h.current||!y.current||(R.forEach(z=>{z&&z.addTo(y.current)}),x.current&&x.current.setRightLayers(y.current.getLayers()))},clearLeftLayers:()=>{var R;(R=v.current)==null||R.clearLayers()},clearRightLayers:()=>{var R;(R=y.current)==null||R.clearLayers()},getMapInstance:()=>h.current,toggleRollMap:R=>{var B,z,$;if(S(R),R){const j=((B=v.current)==null?void 0:B.getLayers())||[],V=((z=y.current)==null?void 0:z.getLayers())||[];x.current=new tn.Control.sideBySide(j,V),x.current.addTo(h.current)}else($=x.current)==null||$.remove(),x.current=null},getIsRollMap:()=>k.current,getLeftLayersGroup:()=>v.current,getRightLayersGroup:()=>y.current,getMapRef:()=>h.current})),A.useEffect(()=>{if(!d.current||h.current)return;const R=tn.map(d.current,{zoomControl:!1,doubleClickZoom:!1,attributionControl:!1,crs:tn.CRS.EPSG4326}).setView(e.center,e.zoom);R.invalidateSize(),R.createPane("leftPane").style.zIndex="300",R.createPane("rightPane").style.zIndex="300",v.current=tn.layerGroup().addTo(R),y.current=tn.layerGroup().addTo(R);const B=tn.Control.extend({options:{position:"topleft"},onAdd:V=>{const W=tn.DomUtil.create("div","leaflet-control-container"),F=oo(W);F.render(Zt.jsx(Zc,{zoomLevel:C}));const X=()=>{const J=V.getZoom();_(J),F.render(Zt.jsx(Zc,{zoomLevel:J}))};return V.on("zoomend",X),W}}),z=tn.Control.extend({options:{position:"topleft"},onAdd:V=>{const W=tn.DomUtil.create("div","leaflet-control-container"),F=oo(W);return P.current=F,F.render(Zt.jsx(iw,{mapView:V,isRollMap:E,baseMapSelectIcon:o,leftLayerGroupRef:v,rightLayerGroupRef:y,sideBySideControl:x,baseMapList:s},I)),W}}),$=tn.Control.extend({options:{position:"topleft"},onAdd:V=>{const W=tn.DomUtil.create("div","leaflet-control-container"),F=oo(W);return P.current=F,F.render(Zt.jsx(pp,{isRollMap:E,setIsRollMap:S,rollIcon:n,normalIcon:r},I)),W}}),j=()=>m(R.getZoom());return R.on("zoomend",j),R.addControl(new B),tn.control.zoom({position:"topleft"}).addTo(R),R.addControl(new z),R.addControl(new $),h.current=R,()=>{const V=x.current,W=b.current;if(V&&W){V.off("dividermove",W),R.off("move",W);const F=R.getPane("leftPane"),X=R.getPane("rightPane");F&&(F.style.clip=""),X&&(X.style.clip="")}R.off("zoomend",j),R.remove(),h.current=null}},[]);const N=R=>{var $,j,V;if(S(R),k.current=R,!!h.current)if(R){const W=(($=v.current)==null?void 0:$.getLayers())||[],F=((j=y.current)==null?void 0:j.getLayers())||[];x.current=tn.control.sideBySide(W,F),x.current.addTo(h.current),x.current.on("dividermove",()=>{var X;(X=h.current)==null||X.eachLayer(J=>{J instanceof tn.Marker})})}else{(V=x.current)==null||V.remove(),x.current=null;var B=h.current.getPane("leftPane"),z=h.current.getPane("rightPane");B&&(B.style.clip=""),z&&(z.style.clip="")}};return A.useEffect(()=>{h.current&&(N(E),l==null||l(E),P.current&&P.current.render(Zt.jsx(pp,{isRollMap:E,setIsRollMap:S,rollIcon:n,normalIcon:r},Date.now())))},[E,l]),Zt.jsx("div",{ref:d,style:{height:"100%",width:"100%"}})});fn.default=aw,Object.defineProperties(fn,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-swipe-map",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "type": "module",
5
5
  "description": "A React component that displays two leaflet maps side by side",
6
6
  "main": "./dist/index.umd.js",
@@ -32,6 +32,6 @@
32
32
  "antd": "^6.2.3",
33
33
  "leaflet": "^1.9.4",
34
34
  "leaflet-side-by-side": "^2.2.0",
35
- "react-swipe-map": "^1.0.1"
35
+ "react-swipe-map": "^1.0.2"
36
36
  }
37
37
  }