@fleet-frontend/mower-maps 0.0.9-beta.6 → 0.0.9-beta.8

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.
@@ -111,4 +111,5 @@ export declare const ACTION_BOUNDARY_TASK = 8;
111
111
  * 结束
112
112
  */
113
113
  export declare const ACTION_END = 10;
114
+ export declare const SVG_MAP_VIEW_ID = "fleet-maps-svg-map-view";
114
115
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;CAUtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;CAUf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAWrB,CAAC;AAGX,OAAO,EACL,WAAW,EACX,SAAS,EACT,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,qBAAqB,sqUAqB3B,CAAC;AAER;;GAEG;AACH,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B;;GAEG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC;;GAEG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C;;GAEG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC;;GAEG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC;;GAEG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC;;GAEG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD;;GAEG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC;;GAEG;AACH,eAAO,MAAM,UAAU,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;CAUtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;CAUf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAWrB,CAAC;AAGX,OAAO,EACL,WAAW,EACX,SAAS,EACT,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,qBAAqB,sqUAqB3B,CAAC;AAER;;GAEG;AACH,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B;;GAEG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC;;GAEG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C;;GAEG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC;;GAEG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC;;GAEG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC;;GAEG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD;;GAEG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC;;GAEG;AACH,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,eAAO,MAAM,eAAe,4BAA4B,CAAC"}
@@ -10,7 +10,7 @@ export declare const CHARGING_PILE_STYLES: ChargingPileStyle;
10
10
  export declare const DOODLE_STYLES: SvgElementStyle;
11
11
  export declare const PATH_EDGE_STYLES: {
12
12
  lineWidth: 20;
13
- opacity: 0.4;
13
+ opacity: 0.6;
14
14
  edgeLineColor: string;
15
15
  transLineColor: string;
16
16
  mowedLineColor: string;
package/dist/index.esm.js CHANGED
@@ -1,6 +1,135 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import React, { forwardRef, useState, useRef, useMemo, useCallback, useEffect, useImperativeHandle } from 'react';
3
3
 
4
+ /**
5
+ * 常量和枚举类型定义
6
+ */
7
+ /**
8
+ * 机器人状态枚举
9
+ */
10
+ var RobotStatus;
11
+ (function (RobotStatus) {
12
+ RobotStatus[RobotStatus["PARKED"] = 1] = "PARKED";
13
+ RobotStatus[RobotStatus["CHARGING"] = 2] = "CHARGING";
14
+ RobotStatus[RobotStatus["STANDBY"] = 3] = "STANDBY";
15
+ RobotStatus[RobotStatus["MOWING"] = 4] = "MOWING";
16
+ RobotStatus[RobotStatus["WORKING"] = 5] = "WORKING";
17
+ RobotStatus[RobotStatus["MAPPING"] = 6] = "MAPPING";
18
+ RobotStatus[RobotStatus["ERROR"] = 7] = "ERROR";
19
+ RobotStatus[RobotStatus["UPGRADING"] = 8] = "UPGRADING";
20
+ RobotStatus[RobotStatus["DISCONNECTED"] = 9] = "DISCONNECTED";
21
+ RobotStatus[RobotStatus["UNKNOWN"] = -1] = "UNKNOWN";
22
+ RobotStatus[RobotStatus["TASK_DELAY"] = 10] = "TASK_DELAY";
23
+ })(RobotStatus || (RobotStatus = {}));
24
+ /**
25
+ * RTK状态枚举
26
+ */
27
+ var RTK_STATE;
28
+ (function (RTK_STATE) {
29
+ RTK_STATE[RTK_STATE["LOW_RTK"] = 1] = "LOW_RTK";
30
+ RTK_STATE[RTK_STATE["MIDDLE_RTK"] = 2] = "MIDDLE_RTK";
31
+ RTK_STATE[RTK_STATE["HIGH_RTK"] = 3] = "HIGH_RTK";
32
+ RTK_STATE[RTK_STATE["NO_POSTURE"] = 10] = "NO_POSTURE";
33
+ RTK_STATE[RTK_STATE["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
34
+ RTK_STATE[RTK_STATE["OFF_LINE"] = 19] = "OFF_LINE";
35
+ })(RTK_STATE || (RTK_STATE = {}));
36
+ /**
37
+ * 实时数据类型枚举
38
+ */
39
+ var REAL_TIME_DATA_TYPE;
40
+ (function (REAL_TIME_DATA_TYPE) {
41
+ REAL_TIME_DATA_TYPE[REAL_TIME_DATA_TYPE["LOCATION"] = 1] = "LOCATION";
42
+ REAL_TIME_DATA_TYPE[REAL_TIME_DATA_TYPE["PROCESS"] = 2] = "PROCESS";
43
+ })(REAL_TIME_DATA_TYPE || (REAL_TIME_DATA_TYPE = {}));
44
+
45
+ /**
46
+ * 地图渲染相关常量配置
47
+ */
48
+ /**
49
+ * 缩放因子 - 将米转换为像素
50
+ * 与Python代码中的SVG比例一致
51
+ */
52
+ const SCALE_FACTOR = 50; // 50像素/米
53
+ /**
54
+ * 默认线宽设置
55
+ */
56
+ const DEFAULT_LINE_WIDTHS = {
57
+ OBSTACLE: 2,
58
+ CHARGING_PILE: 2,
59
+ CHANNEL: 2,
60
+ PATH: 20,
61
+ VISION_OFF_AREA: 2,
62
+ TIME_LIMIT_OBSTACLE: 1,
63
+ };
64
+ /**
65
+ * 默认透明度设置
66
+ */
67
+ const DEFAULT_OPACITIES = {
68
+ FULL: 1.0,
69
+ HIGH: 0.7,
70
+ MEDIUM: 0.6};
71
+ /**
72
+ * 默认半径设置
73
+ */
74
+ const DEFAULT_RADII = {
75
+ CHARGING_PILE: 12};
76
+ /**
77
+ * 图层等级
78
+ */
79
+ const LAYER_LEVELS = {
80
+ BOUNDARY: 2,
81
+ BOUNDARY_BORDER: 4};
82
+ /**
83
+ * 图层默认id
84
+ */
85
+ const LAYER_DEFAULT_TYPE = {
86
+ CHANNEL: 'channel',
87
+ BOUNDARY: 'boundary',
88
+ PATH: 'path',
89
+ BOUNDARY_BORDER: 'boundary_border',
90
+ OBSTACLE: 'obstacle',
91
+ CHARGING_PILE: 'charging_pile',
92
+ POINT: 'point',
93
+ SVG: 'svg',
94
+ VISION_OFF_AREA: 'vision_off_area',
95
+ ANTENNA: 'antenna',
96
+ };
97
+ const ISOLATED_BOUNDARY_SVG = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
98
+ <g opacity="0.6">
99
+ <rect width="24" height="24" rx="12" fill="#1E1E1F" fill-opacity="0.5"/>
100
+ <path d="M8.20573 12.4961C6.739 11.1707 4.85775 11.2284 3.60938 11.1707C6.17744 13.0156 6.05584 15.7887 5.67404 16.9446H14.327C13.837 13.1673 15.5321 10.1289 16.4408 9.08187C15.0342 9.46118 13.5794 10.8303 13.0278 11.4674C12.8102 8.94572 13.992 5.97489 14.61 4.80469C12.5235 5.92214 11.0501 8.26056 10.4938 9.56261C9.22803 7.5947 6.83894 7.17806 5.883 6.9432C8.20573 10.2373 8.00039 11.1707 8.20573 12.4961Z" fill="white"/>
101
+ <mask id="path-3-outside-1_9822_43516" maskUnits="userSpaceOnUse" x="13.2344" y="7.20545" width="12.0208" height="12.0208" fill="black">
102
+ <rect fill="white" x="13.2344" y="7.20545" width="12.0208" height="12.0208"/>
103
+ <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z"/>
104
+ </mask>
105
+ <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z" fill="white"/>
106
+ <path d="M20.6852 11.1208L21.7458 10.0601L21.7459 10.0601L20.6852 11.1208ZM17.8568 11.1208L16.7961 10.0601L16.7962 10.0601L17.8568 11.1208ZM17.2733 11.7043L16.2126 10.6437L16.2126 10.6436L17.2733 11.7043ZM16.8631 13.9319L17.9238 14.9926L16.381 16.5354L15.493 14.5425L16.8631 13.9319ZM17.5916 13.2034L19.0855 13.0678L19.149 13.7674L18.6523 14.2641L17.5916 13.2034ZM20.4056 12.1421L21.4662 11.0814L21.4665 11.0817L20.4056 12.1421ZM18.9699 14.5348L17.9093 13.4741L18.3741 13.0093L19.0309 13.036L18.9699 14.5348ZM18.2235 15.2812L17.6298 16.6587L15.5997 15.7837L17.1628 14.2206L18.2235 15.2812ZM20.429 14.86L21.4897 15.9207L21.4897 15.9207L20.429 14.86ZM21.0125 14.2765L22.0732 15.3371L22.0732 15.3372L21.0125 14.2765ZM20.6852 11.1208L19.6246 12.1815C19.4294 11.9862 19.1127 11.9863 18.9174 12.1815L17.8568 11.1208L16.7962 10.0601C18.163 8.69337 20.379 8.6934 21.7458 10.0601L20.6852 11.1208ZM17.8568 11.1208L18.9175 12.1814L18.334 12.7649L17.2733 11.7043L16.2126 10.6436L16.7961 10.0601L17.8568 11.1208ZM17.2733 11.7043L18.334 12.7649C18.1877 12.9112 18.1488 13.1318 18.2333 13.3214L16.8631 13.9319L15.493 14.5425C14.9228 13.2629 15.1537 11.7026 16.2126 10.6437L17.2733 11.7043ZM16.8631 13.9319L15.8025 12.8713L16.531 12.1428L17.5916 13.2034L18.6523 14.2641L17.9238 14.9926L16.8631 13.9319ZM17.5916 13.2034L16.0978 13.339C16.0334 12.6302 16.2727 11.8914 16.8196 11.3445L17.8803 12.4052L18.9409 13.4658C19.051 13.3558 19.098 13.206 19.0855 13.0678L17.5916 13.2034ZM17.8803 12.4052L16.8196 11.3445L17.5067 10.6574L18.5674 11.7181L19.628 12.7788L18.9409 13.4658L17.8803 12.4052ZM18.5674 11.7181L17.5067 10.6574C18.483 9.68112 20.0659 9.68112 21.0422 10.6574L19.9816 11.7181L18.9209 12.7788C19.1162 12.974 19.4328 12.974 19.628 12.7788L18.5674 11.7181ZM19.9816 11.7181L21.0422 10.6574L21.4662 11.0814L20.4056 12.1421L19.3449 13.2027L18.9209 12.7788L19.9816 11.7181ZM20.4056 12.1421L21.4665 11.0817C22.4419 12.0577 22.4428 13.6404 21.4662 14.617L20.4056 13.5563L19.3449 12.4956C19.1493 12.6913 19.1498 13.0076 19.3446 13.2024L20.4056 12.1421ZM20.4056 13.5563L21.4662 14.617L20.7791 15.304L19.7185 14.2434L18.6578 13.1827L19.3449 12.4956L20.4056 13.5563ZM19.7185 14.2434L20.7791 15.304C20.2628 15.8204 19.5762 16.0607 18.909 16.0335L18.9699 14.5348L19.0309 13.036C18.9025 13.0308 18.7629 13.0777 18.6578 13.1827L19.7185 14.2434ZM18.9699 14.5348L20.0306 15.5954L19.2841 16.3419L18.2235 15.2812L17.1628 14.2206L17.9093 13.4741L18.9699 14.5348ZM18.2235 15.2812L18.8172 13.9037C19.0042 13.9843 19.2223 13.9455 19.3684 13.7993L20.429 14.86L21.4897 15.9207C20.4427 16.9676 18.9034 17.2077 17.6298 16.6587L18.2235 15.2812ZM20.429 14.86L19.3684 13.7994L19.9519 13.2159L21.0125 14.2765L22.0732 15.3372L21.4897 15.9207L20.429 14.86ZM21.0125 14.2765L19.9518 13.2159C20.1471 13.0206 20.1471 12.704 19.9519 12.5088L21.0125 11.4481L22.0732 10.3874C23.4401 11.7543 23.4399 13.9703 22.0732 15.3371L21.0125 14.2765ZM21.0125 11.4481L19.9519 12.5088L19.6246 12.1814L20.6852 11.1208L21.7459 10.0601L22.0732 10.3874L21.0125 11.4481Z" fill="#8E8E8F" mask="url(#path-3-outside-1_9822_43516)"/>
107
+ <mask id="path-5-outside-2_9822_43516" maskUnits="userSpaceOnUse" x="9.22265" y="10.388" width="12.7279" height="12.7279" fill="black">
108
+ <rect fill="white" x="9.22265" y="10.388" width="12.7279" height="12.7279"/>
109
+ <path d="M16.1708 14.5077C15.4353 14.1778 14.5422 14.3133 13.9383 14.9172L13.3548 15.5007C12.574 16.2818 12.5738 17.5481 13.3548 18.3291L13.6821 18.6564C14.4631 19.4374 15.7295 19.4373 16.5105 18.6564L17.094 18.0729C17.6895 17.4775 17.8299 16.6003 17.5173 15.8708L16.7743 16.6138C16.7828 16.8803 16.6863 17.1494 16.4829 17.3527L15.7952 18.0405C15.4046 18.4309 14.7714 18.431 14.3809 18.0405L13.957 17.6165C13.5667 17.226 13.5666 16.5927 13.957 16.2023L14.6447 15.5145C14.8654 15.2939 15.1639 15.1979 15.452 15.2266L16.1708 14.5077Z"/>
110
+ </mask>
111
+ <path d="M16.1708 14.5077C15.4353 14.1778 14.5422 14.3133 13.9383 14.9172L13.3548 15.5007C12.574 16.2818 12.5738 17.5481 13.3548 18.3291L13.6821 18.6564C14.4631 19.4374 15.7295 19.4373 16.5105 18.6564L17.094 18.0729C17.6895 17.4775 17.8299 16.6003 17.5173 15.8708L16.7743 16.6138C16.7828 16.8803 16.6863 17.1494 16.4829 17.3527L15.7952 18.0405C15.4046 18.4309 14.7714 18.431 14.3809 18.0405L13.957 17.6165C13.5667 17.226 13.5666 16.5927 13.957 16.2023L14.6447 15.5145C14.8654 15.2939 15.1639 15.1979 15.452 15.2266L16.1708 14.5077Z" fill="white"/>
112
+ <path d="M16.1708 14.5077L16.7847 13.1391L18.7701 14.0297L17.2315 15.5684L16.1708 14.5077ZM13.3548 15.5007L12.294 14.4402L12.2941 14.44L13.3548 15.5007ZM16.5105 18.6564L17.5712 19.7171L17.5711 19.7172L16.5105 18.6564ZM17.5173 15.8708L16.4567 14.8102L18.0236 13.2433L18.8962 15.2802L17.5173 15.8708ZM16.7743 16.6138L15.2751 16.6613L15.2545 16.0123L15.7137 15.5532L16.7743 16.6138ZM15.7952 18.0405L16.8558 19.1011L16.8556 19.1013L15.7952 18.0405ZM13.957 17.6165L12.8963 18.6772L12.8959 18.6767L13.957 17.6165ZM13.957 16.2023L12.8961 15.1418L12.8963 15.1416L13.957 16.2023ZM15.452 15.2266L16.5126 16.2872L16.0102 16.7896L15.3032 16.7192L15.452 15.2266ZM16.1708 14.5077L15.5569 15.8763C15.3688 15.792 15.1469 15.8299 14.999 15.9779L13.9383 14.9172L12.8776 13.8565C13.9375 12.7967 15.5018 12.5636 16.7847 13.1391L16.1708 14.5077ZM13.9383 14.9172L14.999 15.9779L14.4155 16.5614L13.3548 15.5007L12.2941 14.44L12.8776 13.8565L13.9383 14.9172ZM13.3548 15.5007L14.4156 16.5612C14.2202 16.7567 14.2204 17.0734 14.4155 17.2685L13.3548 18.3291L12.2941 19.3898C10.9272 18.0229 10.9277 15.8069 12.294 14.4402L13.3548 15.5007ZM13.3548 18.3291L14.4155 17.2685L14.7428 17.5958L13.6821 18.6564L12.6215 19.7171L12.2941 19.3898L13.3548 18.3291ZM13.6821 18.6564L14.7428 17.5958C14.9378 17.7908 15.2546 17.791 15.45 17.5956L16.5105 18.6564L17.5711 19.7172C16.2044 21.0836 13.9884 21.084 12.6215 19.7171L13.6821 18.6564ZM16.5105 18.6564L15.4499 17.5958L16.0334 17.0123L17.094 18.0729L18.1547 19.1336L17.5712 19.7171L16.5105 18.6564ZM17.094 18.0729L16.0334 17.0123C16.1795 16.8662 16.2185 16.6481 16.1385 16.4615L17.5173 15.8708L18.8962 15.2802C19.4413 16.5526 19.1996 18.0887 18.1547 19.1336L17.094 18.0729ZM17.5173 15.8708L18.578 16.9315L17.835 17.6745L16.7743 16.6138L15.7137 15.5532L16.4567 14.8102L17.5173 15.8708ZM16.7743 16.6138L18.2736 16.5664C18.2945 17.226 18.0544 17.9026 17.5436 18.4134L16.4829 17.3527L15.4223 16.2921C15.3182 16.3961 15.2711 16.5346 15.2751 16.6613L16.7743 16.6138ZM16.4829 17.3527L17.5436 18.4134L16.8558 19.1011L15.7952 18.0405L14.7345 16.9798L15.4223 16.2921L16.4829 17.3527ZM15.7952 18.0405L16.8556 19.1013C15.8795 20.0771 14.2967 20.0776 13.3203 19.1011L14.3809 18.0405L15.4416 16.9798C15.2461 16.7844 14.9297 16.7847 14.7347 16.9797L15.7952 18.0405ZM14.3809 18.0405L13.3203 19.1011L12.8963 18.6772L13.957 17.6165L15.0176 16.5558L15.4416 16.9798L14.3809 18.0405ZM13.957 17.6165L12.8959 18.6767C11.9207 17.7008 11.92 16.1182 12.8961 15.1418L13.957 16.2023L15.0178 17.2628C15.2133 17.0672 15.2128 16.7512 15.018 16.5563L13.957 17.6165ZM13.957 16.2023L12.8963 15.1416L13.5841 14.4539L14.6447 15.5145L15.7054 16.5752L15.0176 17.2629L13.957 16.2023ZM14.6447 15.5145L13.5841 14.4539C14.1364 13.9015 14.8848 13.6626 15.6007 13.734L15.452 15.2266L15.3032 16.7192C15.443 16.7331 15.5943 16.6862 15.7054 16.5752L14.6447 15.5145ZM15.452 15.2266L14.3913 14.1659L15.1101 13.4471L16.1708 14.5077L17.2315 15.5684L16.5126 16.2872L15.452 15.2266Z" fill="#8E8E8F" mask="url(#path-5-outside-2_9822_43516)"/>
113
+ <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z" fill="white"/>
114
+ <rect width="2.59942" height="2.97264" rx="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 21.1133 12.8486)" fill="#8E8E8F"/>
115
+ <rect width="1.91578" height="4.24403" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 19.6992 13.8066)" fill="#8E8E8F"/>
116
+ <rect width="2.59942" height="2.97264" rx="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 17.3125 16.6455)" fill="#8E8E8F"/>
117
+ </g>
118
+ </svg>`;
119
+ /**
120
+ * 遍历割草任务,下述四个字段可以在路径中唯一确定遍历的位置(当前区域、当前块、当前行、在当前行上的路程)
121
+ */
122
+ const ACTION_BLOCK_COVER = 5;
123
+ /**
124
+ * 遍历割草块转移任务(在同一区域中的一个块转移到下一个块),下述四个字段可以在路径中唯一确定转移的位置(当前区域、前置块、当前转移路径线序号、在当前线上的路程)
125
+ */
126
+ const ACTION_BLOCK_TRANSFER = 6;
127
+ /**
128
+ * 边界割草任务(割草任务内部的巡边任务)
129
+ */
130
+ const ACTION_BOUNDARY_TASK = 8;
131
+ const SVG_MAP_VIEW_ID = 'fleet-maps-svg-map-view';
132
+
4
133
  /**
5
134
  * SVG基础MapView
6
135
  * 使用真正的矢量SVG渲染替代Canvas位图渲染
@@ -56,6 +185,7 @@ class SvgMapView {
56
185
  this.svg.setAttribute('shape-rendering', 'geometricPrecision');
57
186
  this.svg.setAttribute('text-rendering', 'geometricPrecision');
58
187
  this.svg.setAttribute('image-rendering', 'optimizeQuality');
188
+ this.svg.setAttribute('id', SVG_MAP_VIEW_ID);
59
189
  }
60
190
  /**
61
191
  * 创建SVG组元素
@@ -267,7 +397,7 @@ class SvgMapView {
267
397
  // const layerType = layerIdParts.slice(1, -1).join('-'); // 处理类型名中可能包含连字符的情况
268
398
  // const layerLevel = parseInt(layerIdParts[layerIdParts.length - 1]);
269
399
  // // 查找对应的图层对象
270
- // const targetLayer = this.layers.find(layer =>
400
+ // const targetLayer = this.layers.find(layer =>
271
401
  // layer.getType() === layerType && layer.getLevel() === layerLevel
272
402
  // );
273
403
  // if (targetLayer && targetLayer.isVisible()) {
@@ -679,134 +809,6 @@ const useSubBoundaryBorderStore = create((set, get) => ({
679
809
  clearSvgElements: () => set({ svgElements: {} }),
680
810
  }));
681
811
 
682
- /**
683
- * 常量和枚举类型定义
684
- */
685
- /**
686
- * 机器人状态枚举
687
- */
688
- var RobotStatus;
689
- (function (RobotStatus) {
690
- RobotStatus[RobotStatus["PARKED"] = 1] = "PARKED";
691
- RobotStatus[RobotStatus["CHARGING"] = 2] = "CHARGING";
692
- RobotStatus[RobotStatus["STANDBY"] = 3] = "STANDBY";
693
- RobotStatus[RobotStatus["MOWING"] = 4] = "MOWING";
694
- RobotStatus[RobotStatus["WORKING"] = 5] = "WORKING";
695
- RobotStatus[RobotStatus["MAPPING"] = 6] = "MAPPING";
696
- RobotStatus[RobotStatus["ERROR"] = 7] = "ERROR";
697
- RobotStatus[RobotStatus["UPGRADING"] = 8] = "UPGRADING";
698
- RobotStatus[RobotStatus["DISCONNECTED"] = 9] = "DISCONNECTED";
699
- RobotStatus[RobotStatus["UNKNOWN"] = -1] = "UNKNOWN";
700
- RobotStatus[RobotStatus["TASK_DELAY"] = 10] = "TASK_DELAY";
701
- })(RobotStatus || (RobotStatus = {}));
702
- /**
703
- * RTK状态枚举
704
- */
705
- var RTK_STATE;
706
- (function (RTK_STATE) {
707
- RTK_STATE[RTK_STATE["LOW_RTK"] = 1] = "LOW_RTK";
708
- RTK_STATE[RTK_STATE["MIDDLE_RTK"] = 2] = "MIDDLE_RTK";
709
- RTK_STATE[RTK_STATE["HIGH_RTK"] = 3] = "HIGH_RTK";
710
- RTK_STATE[RTK_STATE["NO_POSTURE"] = 10] = "NO_POSTURE";
711
- RTK_STATE[RTK_STATE["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
712
- RTK_STATE[RTK_STATE["OFF_LINE"] = 19] = "OFF_LINE";
713
- })(RTK_STATE || (RTK_STATE = {}));
714
- /**
715
- * 实时数据类型枚举
716
- */
717
- var REAL_TIME_DATA_TYPE;
718
- (function (REAL_TIME_DATA_TYPE) {
719
- REAL_TIME_DATA_TYPE[REAL_TIME_DATA_TYPE["LOCATION"] = 1] = "LOCATION";
720
- REAL_TIME_DATA_TYPE[REAL_TIME_DATA_TYPE["PROCESS"] = 2] = "PROCESS";
721
- })(REAL_TIME_DATA_TYPE || (REAL_TIME_DATA_TYPE = {}));
722
-
723
- /**
724
- * 地图渲染相关常量配置
725
- */
726
- /**
727
- * 缩放因子 - 将米转换为像素
728
- * 与Python代码中的SVG比例一致
729
- */
730
- const SCALE_FACTOR = 50; // 50像素/米
731
- /**
732
- * 默认线宽设置
733
- */
734
- const DEFAULT_LINE_WIDTHS = {
735
- OBSTACLE: 2,
736
- CHARGING_PILE: 2,
737
- CHANNEL: 2,
738
- PATH: 20,
739
- VISION_OFF_AREA: 2,
740
- TIME_LIMIT_OBSTACLE: 1,
741
- };
742
- /**
743
- * 默认透明度设置
744
- */
745
- const DEFAULT_OPACITIES = {
746
- FULL: 1.0,
747
- HIGH: 0.7,
748
- LOW: 0.4};
749
- /**
750
- * 默认半径设置
751
- */
752
- const DEFAULT_RADII = {
753
- CHARGING_PILE: 12};
754
- /**
755
- * 图层等级
756
- */
757
- const LAYER_LEVELS = {
758
- BOUNDARY: 2,
759
- BOUNDARY_BORDER: 4};
760
- /**
761
- * 图层默认id
762
- */
763
- const LAYER_DEFAULT_TYPE = {
764
- CHANNEL: 'channel',
765
- BOUNDARY: 'boundary',
766
- PATH: 'path',
767
- BOUNDARY_BORDER: 'boundary_border',
768
- OBSTACLE: 'obstacle',
769
- CHARGING_PILE: 'charging_pile',
770
- POINT: 'point',
771
- SVG: 'svg',
772
- VISION_OFF_AREA: 'vision_off_area',
773
- ANTENNA: 'antenna',
774
- };
775
- const ISOLATED_BOUNDARY_SVG = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
776
- <g opacity="0.6">
777
- <rect width="24" height="24" rx="12" fill="#1E1E1F" fill-opacity="0.5"/>
778
- <path d="M8.20573 12.4961C6.739 11.1707 4.85775 11.2284 3.60938 11.1707C6.17744 13.0156 6.05584 15.7887 5.67404 16.9446H14.327C13.837 13.1673 15.5321 10.1289 16.4408 9.08187C15.0342 9.46118 13.5794 10.8303 13.0278 11.4674C12.8102 8.94572 13.992 5.97489 14.61 4.80469C12.5235 5.92214 11.0501 8.26056 10.4938 9.56261C9.22803 7.5947 6.83894 7.17806 5.883 6.9432C8.20573 10.2373 8.00039 11.1707 8.20573 12.4961Z" fill="white"/>
779
- <mask id="path-3-outside-1_9822_43516" maskUnits="userSpaceOnUse" x="13.2344" y="7.20545" width="12.0208" height="12.0208" fill="black">
780
- <rect fill="white" x="13.2344" y="7.20545" width="12.0208" height="12.0208"/>
781
- <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z"/>
782
- </mask>
783
- <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z" fill="white"/>
784
- <path d="M20.6852 11.1208L21.7458 10.0601L21.7459 10.0601L20.6852 11.1208ZM17.8568 11.1208L16.7961 10.0601L16.7962 10.0601L17.8568 11.1208ZM17.2733 11.7043L16.2126 10.6437L16.2126 10.6436L17.2733 11.7043ZM16.8631 13.9319L17.9238 14.9926L16.381 16.5354L15.493 14.5425L16.8631 13.9319ZM17.5916 13.2034L19.0855 13.0678L19.149 13.7674L18.6523 14.2641L17.5916 13.2034ZM20.4056 12.1421L21.4662 11.0814L21.4665 11.0817L20.4056 12.1421ZM18.9699 14.5348L17.9093 13.4741L18.3741 13.0093L19.0309 13.036L18.9699 14.5348ZM18.2235 15.2812L17.6298 16.6587L15.5997 15.7837L17.1628 14.2206L18.2235 15.2812ZM20.429 14.86L21.4897 15.9207L21.4897 15.9207L20.429 14.86ZM21.0125 14.2765L22.0732 15.3371L22.0732 15.3372L21.0125 14.2765ZM20.6852 11.1208L19.6246 12.1815C19.4294 11.9862 19.1127 11.9863 18.9174 12.1815L17.8568 11.1208L16.7962 10.0601C18.163 8.69337 20.379 8.6934 21.7458 10.0601L20.6852 11.1208ZM17.8568 11.1208L18.9175 12.1814L18.334 12.7649L17.2733 11.7043L16.2126 10.6436L16.7961 10.0601L17.8568 11.1208ZM17.2733 11.7043L18.334 12.7649C18.1877 12.9112 18.1488 13.1318 18.2333 13.3214L16.8631 13.9319L15.493 14.5425C14.9228 13.2629 15.1537 11.7026 16.2126 10.6437L17.2733 11.7043ZM16.8631 13.9319L15.8025 12.8713L16.531 12.1428L17.5916 13.2034L18.6523 14.2641L17.9238 14.9926L16.8631 13.9319ZM17.5916 13.2034L16.0978 13.339C16.0334 12.6302 16.2727 11.8914 16.8196 11.3445L17.8803 12.4052L18.9409 13.4658C19.051 13.3558 19.098 13.206 19.0855 13.0678L17.5916 13.2034ZM17.8803 12.4052L16.8196 11.3445L17.5067 10.6574L18.5674 11.7181L19.628 12.7788L18.9409 13.4658L17.8803 12.4052ZM18.5674 11.7181L17.5067 10.6574C18.483 9.68112 20.0659 9.68112 21.0422 10.6574L19.9816 11.7181L18.9209 12.7788C19.1162 12.974 19.4328 12.974 19.628 12.7788L18.5674 11.7181ZM19.9816 11.7181L21.0422 10.6574L21.4662 11.0814L20.4056 12.1421L19.3449 13.2027L18.9209 12.7788L19.9816 11.7181ZM20.4056 12.1421L21.4665 11.0817C22.4419 12.0577 22.4428 13.6404 21.4662 14.617L20.4056 13.5563L19.3449 12.4956C19.1493 12.6913 19.1498 13.0076 19.3446 13.2024L20.4056 12.1421ZM20.4056 13.5563L21.4662 14.617L20.7791 15.304L19.7185 14.2434L18.6578 13.1827L19.3449 12.4956L20.4056 13.5563ZM19.7185 14.2434L20.7791 15.304C20.2628 15.8204 19.5762 16.0607 18.909 16.0335L18.9699 14.5348L19.0309 13.036C18.9025 13.0308 18.7629 13.0777 18.6578 13.1827L19.7185 14.2434ZM18.9699 14.5348L20.0306 15.5954L19.2841 16.3419L18.2235 15.2812L17.1628 14.2206L17.9093 13.4741L18.9699 14.5348ZM18.2235 15.2812L18.8172 13.9037C19.0042 13.9843 19.2223 13.9455 19.3684 13.7993L20.429 14.86L21.4897 15.9207C20.4427 16.9676 18.9034 17.2077 17.6298 16.6587L18.2235 15.2812ZM20.429 14.86L19.3684 13.7994L19.9519 13.2159L21.0125 14.2765L22.0732 15.3372L21.4897 15.9207L20.429 14.86ZM21.0125 14.2765L19.9518 13.2159C20.1471 13.0206 20.1471 12.704 19.9519 12.5088L21.0125 11.4481L22.0732 10.3874C23.4401 11.7543 23.4399 13.9703 22.0732 15.3371L21.0125 14.2765ZM21.0125 11.4481L19.9519 12.5088L19.6246 12.1814L20.6852 11.1208L21.7459 10.0601L22.0732 10.3874L21.0125 11.4481Z" fill="#8E8E8F" mask="url(#path-3-outside-1_9822_43516)"/>
785
- <mask id="path-5-outside-2_9822_43516" maskUnits="userSpaceOnUse" x="9.22265" y="10.388" width="12.7279" height="12.7279" fill="black">
786
- <rect fill="white" x="9.22265" y="10.388" width="12.7279" height="12.7279"/>
787
- <path d="M16.1708 14.5077C15.4353 14.1778 14.5422 14.3133 13.9383 14.9172L13.3548 15.5007C12.574 16.2818 12.5738 17.5481 13.3548 18.3291L13.6821 18.6564C14.4631 19.4374 15.7295 19.4373 16.5105 18.6564L17.094 18.0729C17.6895 17.4775 17.8299 16.6003 17.5173 15.8708L16.7743 16.6138C16.7828 16.8803 16.6863 17.1494 16.4829 17.3527L15.7952 18.0405C15.4046 18.4309 14.7714 18.431 14.3809 18.0405L13.957 17.6165C13.5667 17.226 13.5666 16.5927 13.957 16.2023L14.6447 15.5145C14.8654 15.2939 15.1639 15.1979 15.452 15.2266L16.1708 14.5077Z"/>
788
- </mask>
789
- <path d="M16.1708 14.5077C15.4353 14.1778 14.5422 14.3133 13.9383 14.9172L13.3548 15.5007C12.574 16.2818 12.5738 17.5481 13.3548 18.3291L13.6821 18.6564C14.4631 19.4374 15.7295 19.4373 16.5105 18.6564L17.094 18.0729C17.6895 17.4775 17.8299 16.6003 17.5173 15.8708L16.7743 16.6138C16.7828 16.8803 16.6863 17.1494 16.4829 17.3527L15.7952 18.0405C15.4046 18.4309 14.7714 18.431 14.3809 18.0405L13.957 17.6165C13.5667 17.226 13.5666 16.5927 13.957 16.2023L14.6447 15.5145C14.8654 15.2939 15.1639 15.1979 15.452 15.2266L16.1708 14.5077Z" fill="white"/>
790
- <path d="M16.1708 14.5077L16.7847 13.1391L18.7701 14.0297L17.2315 15.5684L16.1708 14.5077ZM13.3548 15.5007L12.294 14.4402L12.2941 14.44L13.3548 15.5007ZM16.5105 18.6564L17.5712 19.7171L17.5711 19.7172L16.5105 18.6564ZM17.5173 15.8708L16.4567 14.8102L18.0236 13.2433L18.8962 15.2802L17.5173 15.8708ZM16.7743 16.6138L15.2751 16.6613L15.2545 16.0123L15.7137 15.5532L16.7743 16.6138ZM15.7952 18.0405L16.8558 19.1011L16.8556 19.1013L15.7952 18.0405ZM13.957 17.6165L12.8963 18.6772L12.8959 18.6767L13.957 17.6165ZM13.957 16.2023L12.8961 15.1418L12.8963 15.1416L13.957 16.2023ZM15.452 15.2266L16.5126 16.2872L16.0102 16.7896L15.3032 16.7192L15.452 15.2266ZM16.1708 14.5077L15.5569 15.8763C15.3688 15.792 15.1469 15.8299 14.999 15.9779L13.9383 14.9172L12.8776 13.8565C13.9375 12.7967 15.5018 12.5636 16.7847 13.1391L16.1708 14.5077ZM13.9383 14.9172L14.999 15.9779L14.4155 16.5614L13.3548 15.5007L12.2941 14.44L12.8776 13.8565L13.9383 14.9172ZM13.3548 15.5007L14.4156 16.5612C14.2202 16.7567 14.2204 17.0734 14.4155 17.2685L13.3548 18.3291L12.2941 19.3898C10.9272 18.0229 10.9277 15.8069 12.294 14.4402L13.3548 15.5007ZM13.3548 18.3291L14.4155 17.2685L14.7428 17.5958L13.6821 18.6564L12.6215 19.7171L12.2941 19.3898L13.3548 18.3291ZM13.6821 18.6564L14.7428 17.5958C14.9378 17.7908 15.2546 17.791 15.45 17.5956L16.5105 18.6564L17.5711 19.7172C16.2044 21.0836 13.9884 21.084 12.6215 19.7171L13.6821 18.6564ZM16.5105 18.6564L15.4499 17.5958L16.0334 17.0123L17.094 18.0729L18.1547 19.1336L17.5712 19.7171L16.5105 18.6564ZM17.094 18.0729L16.0334 17.0123C16.1795 16.8662 16.2185 16.6481 16.1385 16.4615L17.5173 15.8708L18.8962 15.2802C19.4413 16.5526 19.1996 18.0887 18.1547 19.1336L17.094 18.0729ZM17.5173 15.8708L18.578 16.9315L17.835 17.6745L16.7743 16.6138L15.7137 15.5532L16.4567 14.8102L17.5173 15.8708ZM16.7743 16.6138L18.2736 16.5664C18.2945 17.226 18.0544 17.9026 17.5436 18.4134L16.4829 17.3527L15.4223 16.2921C15.3182 16.3961 15.2711 16.5346 15.2751 16.6613L16.7743 16.6138ZM16.4829 17.3527L17.5436 18.4134L16.8558 19.1011L15.7952 18.0405L14.7345 16.9798L15.4223 16.2921L16.4829 17.3527ZM15.7952 18.0405L16.8556 19.1013C15.8795 20.0771 14.2967 20.0776 13.3203 19.1011L14.3809 18.0405L15.4416 16.9798C15.2461 16.7844 14.9297 16.7847 14.7347 16.9797L15.7952 18.0405ZM14.3809 18.0405L13.3203 19.1011L12.8963 18.6772L13.957 17.6165L15.0176 16.5558L15.4416 16.9798L14.3809 18.0405ZM13.957 17.6165L12.8959 18.6767C11.9207 17.7008 11.92 16.1182 12.8961 15.1418L13.957 16.2023L15.0178 17.2628C15.2133 17.0672 15.2128 16.7512 15.018 16.5563L13.957 17.6165ZM13.957 16.2023L12.8963 15.1416L13.5841 14.4539L14.6447 15.5145L15.7054 16.5752L15.0176 17.2629L13.957 16.2023ZM14.6447 15.5145L13.5841 14.4539C14.1364 13.9015 14.8848 13.6626 15.6007 13.734L15.452 15.2266L15.3032 16.7192C15.443 16.7331 15.5943 16.6862 15.7054 16.5752L14.6447 15.5145ZM15.452 15.2266L14.3913 14.1659L15.1101 13.4471L16.1708 14.5077L17.2315 15.5684L16.5126 16.2872L15.452 15.2266Z" fill="#8E8E8F" mask="url(#path-5-outside-2_9822_43516)"/>
791
- <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z" fill="white"/>
792
- <rect width="2.59942" height="2.97264" rx="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 21.1133 12.8486)" fill="#8E8E8F"/>
793
- <rect width="1.91578" height="4.24403" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 19.6992 13.8066)" fill="#8E8E8F"/>
794
- <rect width="2.59942" height="2.97264" rx="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 17.3125 16.6455)" fill="#8E8E8F"/>
795
- </g>
796
- </svg>`;
797
- /**
798
- * 遍历割草任务,下述四个字段可以在路径中唯一确定遍历的位置(当前区域、当前块、当前行、在当前行上的路程)
799
- */
800
- const ACTION_BLOCK_COVER = 5;
801
- /**
802
- * 遍历割草块转移任务(在同一区域中的一个块转移到下一个块),下述四个字段可以在路径中唯一确定转移的位置(当前区域、前置块、当前转移路径线序号、在当前线上的路程)
803
- */
804
- const ACTION_BLOCK_TRANSFER = 6;
805
- /**
806
- * 边界割草任务(割草任务内部的巡边任务)
807
- */
808
- const ACTION_BOUNDARY_TASK = 8;
809
-
810
812
  /**
811
813
  * 路径图层
812
814
  * 专门处理路径元素的渲染
@@ -857,15 +859,25 @@ class ChannelLayer extends BaseLayer {
857
859
  }
858
860
  // �� 修改:计算包含所有分区和通道的边界框
859
861
  let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
860
- // 1. 先计算所有分区的边界
861
- for (const partitionId in subBoundaryBorder) {
862
- const boundaryData = subBoundaryBorder[partitionId];
863
- if (boundaryData && boundaryData.coordinates && boundaryData.coordinates.length > 0) {
864
- for (const coord of boundaryData.coordinates) {
865
- minX = Math.min(minX, coord[0]);
866
- minY = Math.min(minY, coord[1]);
867
- maxX = Math.max(maxX, coord[0]);
868
- maxY = Math.max(maxY, coord[1]);
862
+ // 1. 先计算所有分区的边界,如果能拿到边界的svg的大小,就使用这个如果拿不到,就根据分区去计算
863
+ const svg = document.getElementById(SVG_MAP_VIEW_ID);
864
+ if (svg && svg instanceof SVGSVGElement && svg.viewBox) {
865
+ const viewBox = svg.viewBox.baseVal;
866
+ minX = viewBox.x;
867
+ minY = viewBox.y;
868
+ maxX = viewBox.x + viewBox.width;
869
+ maxY = viewBox.y + viewBox.height;
870
+ }
871
+ else {
872
+ for (const partitionId in subBoundaryBorder) {
873
+ const boundaryData = subBoundaryBorder[partitionId];
874
+ if (boundaryData && boundaryData.coordinates && boundaryData.coordinates.length > 0) {
875
+ for (const coord of boundaryData.coordinates) {
876
+ minX = Math.min(minX, coord[0]);
877
+ minY = Math.min(minY, coord[1]);
878
+ maxX = Math.max(maxX, coord[0]);
879
+ maxY = Math.max(maxY, coord[1]);
880
+ }
869
881
  }
870
882
  }
871
883
  }
@@ -1071,7 +1083,7 @@ class PathLayer extends BaseLayer {
1071
1083
  // 2. 创建一个组,应用 clipPath
1072
1084
  const group = document.createElementNS('http://www.w3.org/2000/svg', 'g');
1073
1085
  group.setAttribute('clip-path', `url(#${clipPathId})`);
1074
- group.setAttribute('opacity', '0.35'); // 统一透明度,防止叠加脏乱
1086
+ group.setAttribute('opacity', '0.6'); // 统一透明度,防止叠加脏乱
1075
1087
  // 3. 渲染所有路径
1076
1088
  for (const element of this.elements) {
1077
1089
  const { id, elements } = element;
@@ -1507,7 +1519,7 @@ class VisionOffLayer extends BaseLayer {
1507
1519
  */
1508
1520
  const BOUNDARY_STYLES = {
1509
1521
  lineColor: '#ffffff',
1510
- fillColor: 'rgba(239, 255, 237, 0.15)', // 更鲜艳的绿色半透明填充,增强可见性
1522
+ fillColor: 'rgba(239, 255, 237, 0.1)', // 更鲜艳的绿色半透明填充,增强可见性
1511
1523
  lineWidth: 2,
1512
1524
  opacity: DEFAULT_OPACITIES.FULL,
1513
1525
  mowingLineColor: 'rgba(99, 216, 174, 1)',
@@ -1539,10 +1551,10 @@ const DOODLE_STYLES = {
1539
1551
  };
1540
1552
  const PATH_EDGE_STYLES = {
1541
1553
  lineWidth: DEFAULT_LINE_WIDTHS.PATH,
1542
- opacity: DEFAULT_OPACITIES.LOW,
1543
- edgeLineColor: 'rgba(194, 203, 212)',
1554
+ opacity: DEFAULT_OPACITIES.MEDIUM,
1555
+ edgeLineColor: 'rgba(231, 238, 246)',
1544
1556
  transLineColor: 'transparent',
1545
- mowedLineColor: 'rgba(194, 203, 212)',
1557
+ mowedLineColor: 'rgba(231, 238, 246)',
1546
1558
  mowingLineColor: 'rgba(123, 200, 187)',
1547
1559
  };
1548
1560
  const CHANNEL_STYLES = {
@@ -6730,7 +6742,7 @@ class ChargingPileManager {
6730
6742
  }
6731
6743
  // 简化的层级定义 - 充电桩只需要一个固定层级
6732
6744
  ChargingPileManager.Z_INDEX = {
6733
- CHARGING_PILE: 800, // 充电桩图标固定层级
6745
+ CHARGING_PILE: 750, // 充电桩图标固定层级
6734
6746
  };
6735
6747
 
6736
6748
  /**
@@ -7142,7 +7154,7 @@ class AntennaManager {
7142
7154
  }
7143
7155
  // 简化的层级定义
7144
7156
  AntennaManager.Z_INDEX = {
7145
- DEFAULT: 750, // 默认层级
7157
+ DEFAULT: 800, // 默认层级
7146
7158
  ACTIVE: 9999, // 点击激活时的高层级
7147
7159
  };
7148
7160
 
@@ -7288,10 +7300,22 @@ class MowerPositionManager {
7288
7300
  if (!chargingPilesPositionConfig)
7289
7301
  return;
7290
7302
  this.mowerPositionConfig = chargingPilesPositionConfig;
7303
+ const positonOutOfRange = isOutOfRange(chargingPilesPositionConfig);
7304
+ const positionInValid = isInvalidPosition(chargingPilesPositionConfig);
7305
+ let postureX = 0;
7306
+ let postureY = 0;
7307
+ let postureTheta = 0;
7291
7308
  const lastPosition = this.lastPosition;
7292
- const postureX = chargingPilesPositionConfig.postureX || chargingPilesPositionConfig.lastPostureX || lastPosition?.x || 0;
7293
- const postureY = chargingPilesPositionConfig.postureY || chargingPilesPositionConfig.lastPostureY || lastPosition?.y || 0;
7294
- const postureTheta = chargingPilesPositionConfig.postureTheta || chargingPilesPositionConfig.lastPostureTheta || lastPosition?.rotation || 0;
7309
+ if (positonOutOfRange || positionInValid) {
7310
+ postureX = lastPosition?.x || 0;
7311
+ postureY = lastPosition?.y || 0;
7312
+ postureTheta = lastPosition?.rotation || 0;
7313
+ }
7314
+ else {
7315
+ postureX = chargingPilesPositionConfig.postureX || 0;
7316
+ postureY = chargingPilesPositionConfig.postureY || 0;
7317
+ postureTheta = chargingPilesPositionConfig.postureTheta || 0;
7318
+ }
7295
7319
  console.log('updatePositionByLastPosition->', postureX, postureY, postureTheta, chargingPilesPositionConfig);
7296
7320
  // 检查是否需要更新图片
7297
7321
  this.updateMowerImage(chargingPilesPositionConfig);
@@ -7358,17 +7382,8 @@ class MowerPositionManager {
7358
7382
  const { x: pointX, y: pointY } = convertCoordinate(x, y);
7359
7383
  const targetPixelPosition = this.convertMapCoordinateToOverlayPixel(pointX, pointY);
7360
7384
  const targetRotation = radToDegree(theta);
7361
- const positonOutOfRange = isOutOfRange({
7362
- postureX: x,
7363
- postureY: y});
7364
- const positionValid = isInvalidPosition({
7365
- postureX: x,
7366
- postureY: y,
7367
- postureTheta: theta,
7368
- });
7369
- if (!positonOutOfRange && !positionValid) {
7370
- this.lastPosition = { x, y, rotation: theta };
7371
- }
7385
+ this.currentPosition = { x: x, y: y, rotation: theta };
7386
+ this.lastPosition = { x, y, rotation: theta };
7372
7387
  // console.log('setElementPosition', x, y, theta, targetRotation, positonOutOfRange, positionValid, targetPixelPosition);
7373
7388
  if (!this.mowerElement)
7374
7389
  return;
@@ -7395,15 +7410,29 @@ class MowerPositionManager {
7395
7410
  startAnimationToPosition(positionConfig, duration) {
7396
7411
  if (!this.mowerElement || !this.currentPosition)
7397
7412
  return;
7398
- this.startPosition = {
7399
- ...this.currentPosition,
7400
- rotation: radNormalize(this.currentPosition.rotation),
7401
- };
7402
7413
  this.targetPosition = {
7403
7414
  x: positionConfig.postureX,
7404
7415
  y: positionConfig.postureY,
7405
7416
  rotation: positionConfig.postureTheta,
7406
7417
  };
7418
+ const isTargetPositionInvalid = isInvalidPosition({
7419
+ postureX: this.targetPosition.x,
7420
+ postureY: this.targetPosition.y,
7421
+ postureTheta: this.targetPosition.rotation,
7422
+ });
7423
+ const isTargetPositionOutOfRange = isOutOfRange({
7424
+ postureX: this.targetPosition.x,
7425
+ postureY: this.targetPosition.y,
7426
+ postureTheta: this.targetPosition.rotation,
7427
+ });
7428
+ // 如果目标坐标点不合理,则舍弃不使用
7429
+ if (isTargetPositionInvalid || isTargetPositionOutOfRange) {
7430
+ return;
7431
+ }
7432
+ this.startPosition = {
7433
+ ...this.currentPosition,
7434
+ rotation: radNormalize(this.currentPosition.rotation),
7435
+ };
7407
7436
  this.animationDuration = duration;
7408
7437
  this.startTime = window.performance.now();
7409
7438
  this.isAnimating = true;
@@ -7435,7 +7464,7 @@ class MowerPositionManager {
7435
7464
  * 动画步骤
7436
7465
  */
7437
7466
  animateStep() {
7438
- if (!this.isAnimating || !this.currentPosition || !this.targetPosition || !this.startPosition)
7467
+ if (!this.isAnimating || !this.targetPosition || !this.startPosition)
7439
7468
  return;
7440
7469
  const currentTime = window.performance.now();
7441
7470
  const elapsed = currentTime - this.startTime;
@@ -7446,7 +7475,6 @@ class MowerPositionManager {
7446
7475
  const currentX = this.startPosition.x + this.deltaPosition.x * easedProgress;
7447
7476
  const currentY = this.startPosition.y + this.deltaPosition.y * easedProgress;
7448
7477
  const currentRotation = this.startPosition.rotation + this.deltaPosition.rotation * easedProgress;
7449
- this.currentPosition = { x: currentX, y: currentY, rotation: currentRotation };
7450
7478
  // 假设在这里进行更新路径数据
7451
7479
  if (this.onMowingPositionChange) {
7452
7480
  this.onMowingPositionChange({
@@ -7456,14 +7484,13 @@ class MowerPositionManager {
7456
7484
  });
7457
7485
  }
7458
7486
  // console.log('animateStep-->', this.startPosition, this.deltaPosition, this.targetPosition, easedProgress)
7487
+ this.setElementPosition(currentX, currentY, currentRotation);
7459
7488
  // 继续动画或结束
7460
7489
  if (progress < 1) {
7461
7490
  // 设置当前位置
7462
- this.setElementPosition(currentX, currentY, currentRotation);
7463
7491
  this.animationId = window.requestAnimationFrame(() => this.animateStep());
7464
7492
  }
7465
7493
  else {
7466
- this.setElementPosition(currentX, currentY, currentRotation);
7467
7494
  // 动画完成
7468
7495
  this.stopAnimation();
7469
7496
  // 通知动画完成
@@ -8865,6 +8892,7 @@ const MowerMapRenderer = forwardRef(({ mapConfig, modelType, mapRef, mapJson, pa
8865
8892
  const currentProcessMowingStatusRef = useRef(false);
8866
8893
  const { updateProcessStateIsMowing, processStateIsMowing } = useProcessMowingState();
8867
8894
  const [mowPartitionData, setMowPartitionData] = useState(null);
8895
+ const [robotStatus, setRobotStatus] = useState(null);
8868
8896
  // Debug相关状态
8869
8897
  const [debugInfo, setDebugInfo] = useState({});
8870
8898
  // 处理地图分区边界
@@ -9217,29 +9245,38 @@ const MowerMapRenderer = forwardRef(({ mapConfig, modelType, mapRef, mapJson, pa
9217
9245
  return;
9218
9246
  }
9219
9247
  console.log('usefeect realTimeData----->', realTimeData, mapJson, pathJson, overlayRef.current);
9248
+ let curMowPartitionData = mowPartitionData;
9220
9249
  // realtime中包含当前割草任务的数据,根据数据进行path路径和边界的高亮操作,
9221
9250
  const mowingPartition = realTimeData.find((item) => item.type === RealTimeDataType.PARTITION);
9222
9251
  if (mowingPartition) {
9223
9252
  setMowPartitionData(mowingPartition);
9253
+ curMowPartitionData = mowingPartition;
9224
9254
  }
9225
- const curMowPartitionData = mowingPartition || mowPartitionData;
9255
+ const positionData = realTimeData?.find(item => item?.type === RealTimeDataType.LOCATION);
9226
9256
  const statusData = realTimeData?.find(item => item?.type === RealTimeDataType.STATUS);
9227
- if (statusData) {
9257
+ if (statusData || positionData) {
9258
+ const currentStatus = statusData?.vehicleState || positionData?.vehicleState;
9228
9259
  // 车辆回桩不会回传最后的park的位置,所以根据实时数据的状态数据判断车辆回到桩上
9229
- if ([RobotStatus.CHARGING, RobotStatus.PARKED].includes(statusData?.vehicleState || RobotStatus.UNKNOWN)) {
9260
+ if ([RobotStatus.CHARGING, RobotStatus.PARKED].includes(currentStatus || RobotStatus.UNKNOWN)) {
9230
9261
  resetInCharginPie();
9231
9262
  }
9232
- else if (statusData?.vehicleState === RobotStatus.MOWING) {
9263
+ else if (currentStatus === RobotStatus.WORKING) {
9233
9264
  // 兜底收不到割草地块的实时数据,使用状态来兜底
9234
- const partitionids = curMowPartitionData?.partitionIds;
9235
- if (!partitionids) {
9236
- overlayRef.current.setBorderLayerHighlight();
9237
- }
9238
- }
9239
- else if (statusData?.vehicleState === RobotStatus.WORKING) {
9240
- // 同上
9241
9265
  overlayRef.current.resetBorderLayerHighlight();
9266
+ setMowPartitionData({});
9267
+ curMowPartitionData = {};
9268
+ }
9269
+ else if (robotStatus !== currentStatus && currentStatus === RobotStatus.MOWING && !mowPartitionData?.partitionIds) {
9270
+ // 如果当前是割草状态,但是地块数据不存在则认为是全局割草,则把所有地块都高亮
9271
+ const allPartitionIds = mapJson?.sub_maps?.map(item => item?.id);
9272
+ setMowPartitionData({
9273
+ partitionIds: allPartitionIds
9274
+ });
9275
+ curMowPartitionData = {
9276
+ partitionIds: allPartitionIds
9277
+ };
9242
9278
  }
9279
+ setRobotStatus(currentStatus);
9243
9280
  }
9244
9281
  if (!mapJson ||
9245
9282
  !pathJson ||
package/dist/index.js CHANGED
@@ -3,6 +3,135 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
 
6
+ /**
7
+ * 常量和枚举类型定义
8
+ */
9
+ /**
10
+ * 机器人状态枚举
11
+ */
12
+ var RobotStatus;
13
+ (function (RobotStatus) {
14
+ RobotStatus[RobotStatus["PARKED"] = 1] = "PARKED";
15
+ RobotStatus[RobotStatus["CHARGING"] = 2] = "CHARGING";
16
+ RobotStatus[RobotStatus["STANDBY"] = 3] = "STANDBY";
17
+ RobotStatus[RobotStatus["MOWING"] = 4] = "MOWING";
18
+ RobotStatus[RobotStatus["WORKING"] = 5] = "WORKING";
19
+ RobotStatus[RobotStatus["MAPPING"] = 6] = "MAPPING";
20
+ RobotStatus[RobotStatus["ERROR"] = 7] = "ERROR";
21
+ RobotStatus[RobotStatus["UPGRADING"] = 8] = "UPGRADING";
22
+ RobotStatus[RobotStatus["DISCONNECTED"] = 9] = "DISCONNECTED";
23
+ RobotStatus[RobotStatus["UNKNOWN"] = -1] = "UNKNOWN";
24
+ RobotStatus[RobotStatus["TASK_DELAY"] = 10] = "TASK_DELAY";
25
+ })(RobotStatus || (RobotStatus = {}));
26
+ /**
27
+ * RTK状态枚举
28
+ */
29
+ var RTK_STATE;
30
+ (function (RTK_STATE) {
31
+ RTK_STATE[RTK_STATE["LOW_RTK"] = 1] = "LOW_RTK";
32
+ RTK_STATE[RTK_STATE["MIDDLE_RTK"] = 2] = "MIDDLE_RTK";
33
+ RTK_STATE[RTK_STATE["HIGH_RTK"] = 3] = "HIGH_RTK";
34
+ RTK_STATE[RTK_STATE["NO_POSTURE"] = 10] = "NO_POSTURE";
35
+ RTK_STATE[RTK_STATE["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
36
+ RTK_STATE[RTK_STATE["OFF_LINE"] = 19] = "OFF_LINE";
37
+ })(RTK_STATE || (RTK_STATE = {}));
38
+ /**
39
+ * 实时数据类型枚举
40
+ */
41
+ var REAL_TIME_DATA_TYPE;
42
+ (function (REAL_TIME_DATA_TYPE) {
43
+ REAL_TIME_DATA_TYPE[REAL_TIME_DATA_TYPE["LOCATION"] = 1] = "LOCATION";
44
+ REAL_TIME_DATA_TYPE[REAL_TIME_DATA_TYPE["PROCESS"] = 2] = "PROCESS";
45
+ })(REAL_TIME_DATA_TYPE || (REAL_TIME_DATA_TYPE = {}));
46
+
47
+ /**
48
+ * 地图渲染相关常量配置
49
+ */
50
+ /**
51
+ * 缩放因子 - 将米转换为像素
52
+ * 与Python代码中的SVG比例一致
53
+ */
54
+ const SCALE_FACTOR = 50; // 50像素/米
55
+ /**
56
+ * 默认线宽设置
57
+ */
58
+ const DEFAULT_LINE_WIDTHS = {
59
+ OBSTACLE: 2,
60
+ CHARGING_PILE: 2,
61
+ CHANNEL: 2,
62
+ PATH: 20,
63
+ VISION_OFF_AREA: 2,
64
+ TIME_LIMIT_OBSTACLE: 1,
65
+ };
66
+ /**
67
+ * 默认透明度设置
68
+ */
69
+ const DEFAULT_OPACITIES = {
70
+ FULL: 1.0,
71
+ HIGH: 0.7,
72
+ MEDIUM: 0.6};
73
+ /**
74
+ * 默认半径设置
75
+ */
76
+ const DEFAULT_RADII = {
77
+ CHARGING_PILE: 12};
78
+ /**
79
+ * 图层等级
80
+ */
81
+ const LAYER_LEVELS = {
82
+ BOUNDARY: 2,
83
+ BOUNDARY_BORDER: 4};
84
+ /**
85
+ * 图层默认id
86
+ */
87
+ const LAYER_DEFAULT_TYPE = {
88
+ CHANNEL: 'channel',
89
+ BOUNDARY: 'boundary',
90
+ PATH: 'path',
91
+ BOUNDARY_BORDER: 'boundary_border',
92
+ OBSTACLE: 'obstacle',
93
+ CHARGING_PILE: 'charging_pile',
94
+ POINT: 'point',
95
+ SVG: 'svg',
96
+ VISION_OFF_AREA: 'vision_off_area',
97
+ ANTENNA: 'antenna',
98
+ };
99
+ const ISOLATED_BOUNDARY_SVG = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
100
+ <g opacity="0.6">
101
+ <rect width="24" height="24" rx="12" fill="#1E1E1F" fill-opacity="0.5"/>
102
+ <path d="M8.20573 12.4961C6.739 11.1707 4.85775 11.2284 3.60938 11.1707C6.17744 13.0156 6.05584 15.7887 5.67404 16.9446H14.327C13.837 13.1673 15.5321 10.1289 16.4408 9.08187C15.0342 9.46118 13.5794 10.8303 13.0278 11.4674C12.8102 8.94572 13.992 5.97489 14.61 4.80469C12.5235 5.92214 11.0501 8.26056 10.4938 9.56261C9.22803 7.5947 6.83894 7.17806 5.883 6.9432C8.20573 10.2373 8.00039 11.1707 8.20573 12.4961Z" fill="white"/>
103
+ <mask id="path-3-outside-1_9822_43516" maskUnits="userSpaceOnUse" x="13.2344" y="7.20545" width="12.0208" height="12.0208" fill="black">
104
+ <rect fill="white" x="13.2344" y="7.20545" width="12.0208" height="12.0208"/>
105
+ <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z"/>
106
+ </mask>
107
+ <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z" fill="white"/>
108
+ <path d="M20.6852 11.1208L21.7458 10.0601L21.7459 10.0601L20.6852 11.1208ZM17.8568 11.1208L16.7961 10.0601L16.7962 10.0601L17.8568 11.1208ZM17.2733 11.7043L16.2126 10.6437L16.2126 10.6436L17.2733 11.7043ZM16.8631 13.9319L17.9238 14.9926L16.381 16.5354L15.493 14.5425L16.8631 13.9319ZM17.5916 13.2034L19.0855 13.0678L19.149 13.7674L18.6523 14.2641L17.5916 13.2034ZM20.4056 12.1421L21.4662 11.0814L21.4665 11.0817L20.4056 12.1421ZM18.9699 14.5348L17.9093 13.4741L18.3741 13.0093L19.0309 13.036L18.9699 14.5348ZM18.2235 15.2812L17.6298 16.6587L15.5997 15.7837L17.1628 14.2206L18.2235 15.2812ZM20.429 14.86L21.4897 15.9207L21.4897 15.9207L20.429 14.86ZM21.0125 14.2765L22.0732 15.3371L22.0732 15.3372L21.0125 14.2765ZM20.6852 11.1208L19.6246 12.1815C19.4294 11.9862 19.1127 11.9863 18.9174 12.1815L17.8568 11.1208L16.7962 10.0601C18.163 8.69337 20.379 8.6934 21.7458 10.0601L20.6852 11.1208ZM17.8568 11.1208L18.9175 12.1814L18.334 12.7649L17.2733 11.7043L16.2126 10.6436L16.7961 10.0601L17.8568 11.1208ZM17.2733 11.7043L18.334 12.7649C18.1877 12.9112 18.1488 13.1318 18.2333 13.3214L16.8631 13.9319L15.493 14.5425C14.9228 13.2629 15.1537 11.7026 16.2126 10.6437L17.2733 11.7043ZM16.8631 13.9319L15.8025 12.8713L16.531 12.1428L17.5916 13.2034L18.6523 14.2641L17.9238 14.9926L16.8631 13.9319ZM17.5916 13.2034L16.0978 13.339C16.0334 12.6302 16.2727 11.8914 16.8196 11.3445L17.8803 12.4052L18.9409 13.4658C19.051 13.3558 19.098 13.206 19.0855 13.0678L17.5916 13.2034ZM17.8803 12.4052L16.8196 11.3445L17.5067 10.6574L18.5674 11.7181L19.628 12.7788L18.9409 13.4658L17.8803 12.4052ZM18.5674 11.7181L17.5067 10.6574C18.483 9.68112 20.0659 9.68112 21.0422 10.6574L19.9816 11.7181L18.9209 12.7788C19.1162 12.974 19.4328 12.974 19.628 12.7788L18.5674 11.7181ZM19.9816 11.7181L21.0422 10.6574L21.4662 11.0814L20.4056 12.1421L19.3449 13.2027L18.9209 12.7788L19.9816 11.7181ZM20.4056 12.1421L21.4665 11.0817C22.4419 12.0577 22.4428 13.6404 21.4662 14.617L20.4056 13.5563L19.3449 12.4956C19.1493 12.6913 19.1498 13.0076 19.3446 13.2024L20.4056 12.1421ZM20.4056 13.5563L21.4662 14.617L20.7791 15.304L19.7185 14.2434L18.6578 13.1827L19.3449 12.4956L20.4056 13.5563ZM19.7185 14.2434L20.7791 15.304C20.2628 15.8204 19.5762 16.0607 18.909 16.0335L18.9699 14.5348L19.0309 13.036C18.9025 13.0308 18.7629 13.0777 18.6578 13.1827L19.7185 14.2434ZM18.9699 14.5348L20.0306 15.5954L19.2841 16.3419L18.2235 15.2812L17.1628 14.2206L17.9093 13.4741L18.9699 14.5348ZM18.2235 15.2812L18.8172 13.9037C19.0042 13.9843 19.2223 13.9455 19.3684 13.7993L20.429 14.86L21.4897 15.9207C20.4427 16.9676 18.9034 17.2077 17.6298 16.6587L18.2235 15.2812ZM20.429 14.86L19.3684 13.7994L19.9519 13.2159L21.0125 14.2765L22.0732 15.3372L21.4897 15.9207L20.429 14.86ZM21.0125 14.2765L19.9518 13.2159C20.1471 13.0206 20.1471 12.704 19.9519 12.5088L21.0125 11.4481L22.0732 10.3874C23.4401 11.7543 23.4399 13.9703 22.0732 15.3371L21.0125 14.2765ZM21.0125 11.4481L19.9519 12.5088L19.6246 12.1814L20.6852 11.1208L21.7459 10.0601L22.0732 10.3874L21.0125 11.4481Z" fill="#8E8E8F" mask="url(#path-3-outside-1_9822_43516)"/>
109
+ <mask id="path-5-outside-2_9822_43516" maskUnits="userSpaceOnUse" x="9.22265" y="10.388" width="12.7279" height="12.7279" fill="black">
110
+ <rect fill="white" x="9.22265" y="10.388" width="12.7279" height="12.7279"/>
111
+ <path d="M16.1708 14.5077C15.4353 14.1778 14.5422 14.3133 13.9383 14.9172L13.3548 15.5007C12.574 16.2818 12.5738 17.5481 13.3548 18.3291L13.6821 18.6564C14.4631 19.4374 15.7295 19.4373 16.5105 18.6564L17.094 18.0729C17.6895 17.4775 17.8299 16.6003 17.5173 15.8708L16.7743 16.6138C16.7828 16.8803 16.6863 17.1494 16.4829 17.3527L15.7952 18.0405C15.4046 18.4309 14.7714 18.431 14.3809 18.0405L13.957 17.6165C13.5667 17.226 13.5666 16.5927 13.957 16.2023L14.6447 15.5145C14.8654 15.2939 15.1639 15.1979 15.452 15.2266L16.1708 14.5077Z"/>
112
+ </mask>
113
+ <path d="M16.1708 14.5077C15.4353 14.1778 14.5422 14.3133 13.9383 14.9172L13.3548 15.5007C12.574 16.2818 12.5738 17.5481 13.3548 18.3291L13.6821 18.6564C14.4631 19.4374 15.7295 19.4373 16.5105 18.6564L17.094 18.0729C17.6895 17.4775 17.8299 16.6003 17.5173 15.8708L16.7743 16.6138C16.7828 16.8803 16.6863 17.1494 16.4829 17.3527L15.7952 18.0405C15.4046 18.4309 14.7714 18.431 14.3809 18.0405L13.957 17.6165C13.5667 17.226 13.5666 16.5927 13.957 16.2023L14.6447 15.5145C14.8654 15.2939 15.1639 15.1979 15.452 15.2266L16.1708 14.5077Z" fill="white"/>
114
+ <path d="M16.1708 14.5077L16.7847 13.1391L18.7701 14.0297L17.2315 15.5684L16.1708 14.5077ZM13.3548 15.5007L12.294 14.4402L12.2941 14.44L13.3548 15.5007ZM16.5105 18.6564L17.5712 19.7171L17.5711 19.7172L16.5105 18.6564ZM17.5173 15.8708L16.4567 14.8102L18.0236 13.2433L18.8962 15.2802L17.5173 15.8708ZM16.7743 16.6138L15.2751 16.6613L15.2545 16.0123L15.7137 15.5532L16.7743 16.6138ZM15.7952 18.0405L16.8558 19.1011L16.8556 19.1013L15.7952 18.0405ZM13.957 17.6165L12.8963 18.6772L12.8959 18.6767L13.957 17.6165ZM13.957 16.2023L12.8961 15.1418L12.8963 15.1416L13.957 16.2023ZM15.452 15.2266L16.5126 16.2872L16.0102 16.7896L15.3032 16.7192L15.452 15.2266ZM16.1708 14.5077L15.5569 15.8763C15.3688 15.792 15.1469 15.8299 14.999 15.9779L13.9383 14.9172L12.8776 13.8565C13.9375 12.7967 15.5018 12.5636 16.7847 13.1391L16.1708 14.5077ZM13.9383 14.9172L14.999 15.9779L14.4155 16.5614L13.3548 15.5007L12.2941 14.44L12.8776 13.8565L13.9383 14.9172ZM13.3548 15.5007L14.4156 16.5612C14.2202 16.7567 14.2204 17.0734 14.4155 17.2685L13.3548 18.3291L12.2941 19.3898C10.9272 18.0229 10.9277 15.8069 12.294 14.4402L13.3548 15.5007ZM13.3548 18.3291L14.4155 17.2685L14.7428 17.5958L13.6821 18.6564L12.6215 19.7171L12.2941 19.3898L13.3548 18.3291ZM13.6821 18.6564L14.7428 17.5958C14.9378 17.7908 15.2546 17.791 15.45 17.5956L16.5105 18.6564L17.5711 19.7172C16.2044 21.0836 13.9884 21.084 12.6215 19.7171L13.6821 18.6564ZM16.5105 18.6564L15.4499 17.5958L16.0334 17.0123L17.094 18.0729L18.1547 19.1336L17.5712 19.7171L16.5105 18.6564ZM17.094 18.0729L16.0334 17.0123C16.1795 16.8662 16.2185 16.6481 16.1385 16.4615L17.5173 15.8708L18.8962 15.2802C19.4413 16.5526 19.1996 18.0887 18.1547 19.1336L17.094 18.0729ZM17.5173 15.8708L18.578 16.9315L17.835 17.6745L16.7743 16.6138L15.7137 15.5532L16.4567 14.8102L17.5173 15.8708ZM16.7743 16.6138L18.2736 16.5664C18.2945 17.226 18.0544 17.9026 17.5436 18.4134L16.4829 17.3527L15.4223 16.2921C15.3182 16.3961 15.2711 16.5346 15.2751 16.6613L16.7743 16.6138ZM16.4829 17.3527L17.5436 18.4134L16.8558 19.1011L15.7952 18.0405L14.7345 16.9798L15.4223 16.2921L16.4829 17.3527ZM15.7952 18.0405L16.8556 19.1013C15.8795 20.0771 14.2967 20.0776 13.3203 19.1011L14.3809 18.0405L15.4416 16.9798C15.2461 16.7844 14.9297 16.7847 14.7347 16.9797L15.7952 18.0405ZM14.3809 18.0405L13.3203 19.1011L12.8963 18.6772L13.957 17.6165L15.0176 16.5558L15.4416 16.9798L14.3809 18.0405ZM13.957 17.6165L12.8959 18.6767C11.9207 17.7008 11.92 16.1182 12.8961 15.1418L13.957 16.2023L15.0178 17.2628C15.2133 17.0672 15.2128 16.7512 15.018 16.5563L13.957 17.6165ZM13.957 16.2023L12.8963 15.1416L13.5841 14.4539L14.6447 15.5145L15.7054 16.5752L15.0176 17.2629L13.957 16.2023ZM14.6447 15.5145L13.5841 14.4539C14.1364 13.9015 14.8848 13.6626 15.6007 13.734L15.452 15.2266L15.3032 16.7192C15.443 16.7331 15.5943 16.6862 15.7054 16.5752L14.6447 15.5145ZM15.452 15.2266L14.3913 14.1659L15.1101 13.4471L16.1708 14.5077L17.2315 15.5684L16.5126 16.2872L15.452 15.2266Z" fill="#8E8E8F" mask="url(#path-5-outside-2_9822_43516)"/>
115
+ <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z" fill="white"/>
116
+ <rect width="2.59942" height="2.97264" rx="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 21.1133 12.8486)" fill="#8E8E8F"/>
117
+ <rect width="1.91578" height="4.24403" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 19.6992 13.8066)" fill="#8E8E8F"/>
118
+ <rect width="2.59942" height="2.97264" rx="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 17.3125 16.6455)" fill="#8E8E8F"/>
119
+ </g>
120
+ </svg>`;
121
+ /**
122
+ * 遍历割草任务,下述四个字段可以在路径中唯一确定遍历的位置(当前区域、当前块、当前行、在当前行上的路程)
123
+ */
124
+ const ACTION_BLOCK_COVER = 5;
125
+ /**
126
+ * 遍历割草块转移任务(在同一区域中的一个块转移到下一个块),下述四个字段可以在路径中唯一确定转移的位置(当前区域、前置块、当前转移路径线序号、在当前线上的路程)
127
+ */
128
+ const ACTION_BLOCK_TRANSFER = 6;
129
+ /**
130
+ * 边界割草任务(割草任务内部的巡边任务)
131
+ */
132
+ const ACTION_BOUNDARY_TASK = 8;
133
+ const SVG_MAP_VIEW_ID = 'fleet-maps-svg-map-view';
134
+
6
135
  /**
7
136
  * SVG基础MapView
8
137
  * 使用真正的矢量SVG渲染替代Canvas位图渲染
@@ -58,6 +187,7 @@ class SvgMapView {
58
187
  this.svg.setAttribute('shape-rendering', 'geometricPrecision');
59
188
  this.svg.setAttribute('text-rendering', 'geometricPrecision');
60
189
  this.svg.setAttribute('image-rendering', 'optimizeQuality');
190
+ this.svg.setAttribute('id', SVG_MAP_VIEW_ID);
61
191
  }
62
192
  /**
63
193
  * 创建SVG组元素
@@ -269,7 +399,7 @@ class SvgMapView {
269
399
  // const layerType = layerIdParts.slice(1, -1).join('-'); // 处理类型名中可能包含连字符的情况
270
400
  // const layerLevel = parseInt(layerIdParts[layerIdParts.length - 1]);
271
401
  // // 查找对应的图层对象
272
- // const targetLayer = this.layers.find(layer =>
402
+ // const targetLayer = this.layers.find(layer =>
273
403
  // layer.getType() === layerType && layer.getLevel() === layerLevel
274
404
  // );
275
405
  // if (targetLayer && targetLayer.isVisible()) {
@@ -681,134 +811,6 @@ const useSubBoundaryBorderStore = create((set, get) => ({
681
811
  clearSvgElements: () => set({ svgElements: {} }),
682
812
  }));
683
813
 
684
- /**
685
- * 常量和枚举类型定义
686
- */
687
- /**
688
- * 机器人状态枚举
689
- */
690
- var RobotStatus;
691
- (function (RobotStatus) {
692
- RobotStatus[RobotStatus["PARKED"] = 1] = "PARKED";
693
- RobotStatus[RobotStatus["CHARGING"] = 2] = "CHARGING";
694
- RobotStatus[RobotStatus["STANDBY"] = 3] = "STANDBY";
695
- RobotStatus[RobotStatus["MOWING"] = 4] = "MOWING";
696
- RobotStatus[RobotStatus["WORKING"] = 5] = "WORKING";
697
- RobotStatus[RobotStatus["MAPPING"] = 6] = "MAPPING";
698
- RobotStatus[RobotStatus["ERROR"] = 7] = "ERROR";
699
- RobotStatus[RobotStatus["UPGRADING"] = 8] = "UPGRADING";
700
- RobotStatus[RobotStatus["DISCONNECTED"] = 9] = "DISCONNECTED";
701
- RobotStatus[RobotStatus["UNKNOWN"] = -1] = "UNKNOWN";
702
- RobotStatus[RobotStatus["TASK_DELAY"] = 10] = "TASK_DELAY";
703
- })(RobotStatus || (RobotStatus = {}));
704
- /**
705
- * RTK状态枚举
706
- */
707
- var RTK_STATE;
708
- (function (RTK_STATE) {
709
- RTK_STATE[RTK_STATE["LOW_RTK"] = 1] = "LOW_RTK";
710
- RTK_STATE[RTK_STATE["MIDDLE_RTK"] = 2] = "MIDDLE_RTK";
711
- RTK_STATE[RTK_STATE["HIGH_RTK"] = 3] = "HIGH_RTK";
712
- RTK_STATE[RTK_STATE["NO_POSTURE"] = 10] = "NO_POSTURE";
713
- RTK_STATE[RTK_STATE["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
714
- RTK_STATE[RTK_STATE["OFF_LINE"] = 19] = "OFF_LINE";
715
- })(RTK_STATE || (RTK_STATE = {}));
716
- /**
717
- * 实时数据类型枚举
718
- */
719
- var REAL_TIME_DATA_TYPE;
720
- (function (REAL_TIME_DATA_TYPE) {
721
- REAL_TIME_DATA_TYPE[REAL_TIME_DATA_TYPE["LOCATION"] = 1] = "LOCATION";
722
- REAL_TIME_DATA_TYPE[REAL_TIME_DATA_TYPE["PROCESS"] = 2] = "PROCESS";
723
- })(REAL_TIME_DATA_TYPE || (REAL_TIME_DATA_TYPE = {}));
724
-
725
- /**
726
- * 地图渲染相关常量配置
727
- */
728
- /**
729
- * 缩放因子 - 将米转换为像素
730
- * 与Python代码中的SVG比例一致
731
- */
732
- const SCALE_FACTOR = 50; // 50像素/米
733
- /**
734
- * 默认线宽设置
735
- */
736
- const DEFAULT_LINE_WIDTHS = {
737
- OBSTACLE: 2,
738
- CHARGING_PILE: 2,
739
- CHANNEL: 2,
740
- PATH: 20,
741
- VISION_OFF_AREA: 2,
742
- TIME_LIMIT_OBSTACLE: 1,
743
- };
744
- /**
745
- * 默认透明度设置
746
- */
747
- const DEFAULT_OPACITIES = {
748
- FULL: 1.0,
749
- HIGH: 0.7,
750
- LOW: 0.4};
751
- /**
752
- * 默认半径设置
753
- */
754
- const DEFAULT_RADII = {
755
- CHARGING_PILE: 12};
756
- /**
757
- * 图层等级
758
- */
759
- const LAYER_LEVELS = {
760
- BOUNDARY: 2,
761
- BOUNDARY_BORDER: 4};
762
- /**
763
- * 图层默认id
764
- */
765
- const LAYER_DEFAULT_TYPE = {
766
- CHANNEL: 'channel',
767
- BOUNDARY: 'boundary',
768
- PATH: 'path',
769
- BOUNDARY_BORDER: 'boundary_border',
770
- OBSTACLE: 'obstacle',
771
- CHARGING_PILE: 'charging_pile',
772
- POINT: 'point',
773
- SVG: 'svg',
774
- VISION_OFF_AREA: 'vision_off_area',
775
- ANTENNA: 'antenna',
776
- };
777
- const ISOLATED_BOUNDARY_SVG = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
778
- <g opacity="0.6">
779
- <rect width="24" height="24" rx="12" fill="#1E1E1F" fill-opacity="0.5"/>
780
- <path d="M8.20573 12.4961C6.739 11.1707 4.85775 11.2284 3.60938 11.1707C6.17744 13.0156 6.05584 15.7887 5.67404 16.9446H14.327C13.837 13.1673 15.5321 10.1289 16.4408 9.08187C15.0342 9.46118 13.5794 10.8303 13.0278 11.4674C12.8102 8.94572 13.992 5.97489 14.61 4.80469C12.5235 5.92214 11.0501 8.26056 10.4938 9.56261C9.22803 7.5947 6.83894 7.17806 5.883 6.9432C8.20573 10.2373 8.00039 11.1707 8.20573 12.4961Z" fill="white"/>
781
- <mask id="path-3-outside-1_9822_43516" maskUnits="userSpaceOnUse" x="13.2344" y="7.20545" width="12.0208" height="12.0208" fill="black">
782
- <rect fill="white" x="13.2344" y="7.20545" width="12.0208" height="12.0208"/>
783
- <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z"/>
784
- </mask>
785
- <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z" fill="white"/>
786
- <path d="M20.6852 11.1208L21.7458 10.0601L21.7459 10.0601L20.6852 11.1208ZM17.8568 11.1208L16.7961 10.0601L16.7962 10.0601L17.8568 11.1208ZM17.2733 11.7043L16.2126 10.6437L16.2126 10.6436L17.2733 11.7043ZM16.8631 13.9319L17.9238 14.9926L16.381 16.5354L15.493 14.5425L16.8631 13.9319ZM17.5916 13.2034L19.0855 13.0678L19.149 13.7674L18.6523 14.2641L17.5916 13.2034ZM20.4056 12.1421L21.4662 11.0814L21.4665 11.0817L20.4056 12.1421ZM18.9699 14.5348L17.9093 13.4741L18.3741 13.0093L19.0309 13.036L18.9699 14.5348ZM18.2235 15.2812L17.6298 16.6587L15.5997 15.7837L17.1628 14.2206L18.2235 15.2812ZM20.429 14.86L21.4897 15.9207L21.4897 15.9207L20.429 14.86ZM21.0125 14.2765L22.0732 15.3371L22.0732 15.3372L21.0125 14.2765ZM20.6852 11.1208L19.6246 12.1815C19.4294 11.9862 19.1127 11.9863 18.9174 12.1815L17.8568 11.1208L16.7962 10.0601C18.163 8.69337 20.379 8.6934 21.7458 10.0601L20.6852 11.1208ZM17.8568 11.1208L18.9175 12.1814L18.334 12.7649L17.2733 11.7043L16.2126 10.6436L16.7961 10.0601L17.8568 11.1208ZM17.2733 11.7043L18.334 12.7649C18.1877 12.9112 18.1488 13.1318 18.2333 13.3214L16.8631 13.9319L15.493 14.5425C14.9228 13.2629 15.1537 11.7026 16.2126 10.6437L17.2733 11.7043ZM16.8631 13.9319L15.8025 12.8713L16.531 12.1428L17.5916 13.2034L18.6523 14.2641L17.9238 14.9926L16.8631 13.9319ZM17.5916 13.2034L16.0978 13.339C16.0334 12.6302 16.2727 11.8914 16.8196 11.3445L17.8803 12.4052L18.9409 13.4658C19.051 13.3558 19.098 13.206 19.0855 13.0678L17.5916 13.2034ZM17.8803 12.4052L16.8196 11.3445L17.5067 10.6574L18.5674 11.7181L19.628 12.7788L18.9409 13.4658L17.8803 12.4052ZM18.5674 11.7181L17.5067 10.6574C18.483 9.68112 20.0659 9.68112 21.0422 10.6574L19.9816 11.7181L18.9209 12.7788C19.1162 12.974 19.4328 12.974 19.628 12.7788L18.5674 11.7181ZM19.9816 11.7181L21.0422 10.6574L21.4662 11.0814L20.4056 12.1421L19.3449 13.2027L18.9209 12.7788L19.9816 11.7181ZM20.4056 12.1421L21.4665 11.0817C22.4419 12.0577 22.4428 13.6404 21.4662 14.617L20.4056 13.5563L19.3449 12.4956C19.1493 12.6913 19.1498 13.0076 19.3446 13.2024L20.4056 12.1421ZM20.4056 13.5563L21.4662 14.617L20.7791 15.304L19.7185 14.2434L18.6578 13.1827L19.3449 12.4956L20.4056 13.5563ZM19.7185 14.2434L20.7791 15.304C20.2628 15.8204 19.5762 16.0607 18.909 16.0335L18.9699 14.5348L19.0309 13.036C18.9025 13.0308 18.7629 13.0777 18.6578 13.1827L19.7185 14.2434ZM18.9699 14.5348L20.0306 15.5954L19.2841 16.3419L18.2235 15.2812L17.1628 14.2206L17.9093 13.4741L18.9699 14.5348ZM18.2235 15.2812L18.8172 13.9037C19.0042 13.9843 19.2223 13.9455 19.3684 13.7993L20.429 14.86L21.4897 15.9207C20.4427 16.9676 18.9034 17.2077 17.6298 16.6587L18.2235 15.2812ZM20.429 14.86L19.3684 13.7994L19.9519 13.2159L21.0125 14.2765L22.0732 15.3372L21.4897 15.9207L20.429 14.86ZM21.0125 14.2765L19.9518 13.2159C20.1471 13.0206 20.1471 12.704 19.9519 12.5088L21.0125 11.4481L22.0732 10.3874C23.4401 11.7543 23.4399 13.9703 22.0732 15.3371L21.0125 14.2765ZM21.0125 11.4481L19.9519 12.5088L19.6246 12.1814L20.6852 11.1208L21.7459 10.0601L22.0732 10.3874L21.0125 11.4481Z" fill="#8E8E8F" mask="url(#path-3-outside-1_9822_43516)"/>
787
- <mask id="path-5-outside-2_9822_43516" maskUnits="userSpaceOnUse" x="9.22265" y="10.388" width="12.7279" height="12.7279" fill="black">
788
- <rect fill="white" x="9.22265" y="10.388" width="12.7279" height="12.7279"/>
789
- <path d="M16.1708 14.5077C15.4353 14.1778 14.5422 14.3133 13.9383 14.9172L13.3548 15.5007C12.574 16.2818 12.5738 17.5481 13.3548 18.3291L13.6821 18.6564C14.4631 19.4374 15.7295 19.4373 16.5105 18.6564L17.094 18.0729C17.6895 17.4775 17.8299 16.6003 17.5173 15.8708L16.7743 16.6138C16.7828 16.8803 16.6863 17.1494 16.4829 17.3527L15.7952 18.0405C15.4046 18.4309 14.7714 18.431 14.3809 18.0405L13.957 17.6165C13.5667 17.226 13.5666 16.5927 13.957 16.2023L14.6447 15.5145C14.8654 15.2939 15.1639 15.1979 15.452 15.2266L16.1708 14.5077Z"/>
790
- </mask>
791
- <path d="M16.1708 14.5077C15.4353 14.1778 14.5422 14.3133 13.9383 14.9172L13.3548 15.5007C12.574 16.2818 12.5738 17.5481 13.3548 18.3291L13.6821 18.6564C14.4631 19.4374 15.7295 19.4373 16.5105 18.6564L17.094 18.0729C17.6895 17.4775 17.8299 16.6003 17.5173 15.8708L16.7743 16.6138C16.7828 16.8803 16.6863 17.1494 16.4829 17.3527L15.7952 18.0405C15.4046 18.4309 14.7714 18.431 14.3809 18.0405L13.957 17.6165C13.5667 17.226 13.5666 16.5927 13.957 16.2023L14.6447 15.5145C14.8654 15.2939 15.1639 15.1979 15.452 15.2266L16.1708 14.5077Z" fill="white"/>
792
- <path d="M16.1708 14.5077L16.7847 13.1391L18.7701 14.0297L17.2315 15.5684L16.1708 14.5077ZM13.3548 15.5007L12.294 14.4402L12.2941 14.44L13.3548 15.5007ZM16.5105 18.6564L17.5712 19.7171L17.5711 19.7172L16.5105 18.6564ZM17.5173 15.8708L16.4567 14.8102L18.0236 13.2433L18.8962 15.2802L17.5173 15.8708ZM16.7743 16.6138L15.2751 16.6613L15.2545 16.0123L15.7137 15.5532L16.7743 16.6138ZM15.7952 18.0405L16.8558 19.1011L16.8556 19.1013L15.7952 18.0405ZM13.957 17.6165L12.8963 18.6772L12.8959 18.6767L13.957 17.6165ZM13.957 16.2023L12.8961 15.1418L12.8963 15.1416L13.957 16.2023ZM15.452 15.2266L16.5126 16.2872L16.0102 16.7896L15.3032 16.7192L15.452 15.2266ZM16.1708 14.5077L15.5569 15.8763C15.3688 15.792 15.1469 15.8299 14.999 15.9779L13.9383 14.9172L12.8776 13.8565C13.9375 12.7967 15.5018 12.5636 16.7847 13.1391L16.1708 14.5077ZM13.9383 14.9172L14.999 15.9779L14.4155 16.5614L13.3548 15.5007L12.2941 14.44L12.8776 13.8565L13.9383 14.9172ZM13.3548 15.5007L14.4156 16.5612C14.2202 16.7567 14.2204 17.0734 14.4155 17.2685L13.3548 18.3291L12.2941 19.3898C10.9272 18.0229 10.9277 15.8069 12.294 14.4402L13.3548 15.5007ZM13.3548 18.3291L14.4155 17.2685L14.7428 17.5958L13.6821 18.6564L12.6215 19.7171L12.2941 19.3898L13.3548 18.3291ZM13.6821 18.6564L14.7428 17.5958C14.9378 17.7908 15.2546 17.791 15.45 17.5956L16.5105 18.6564L17.5711 19.7172C16.2044 21.0836 13.9884 21.084 12.6215 19.7171L13.6821 18.6564ZM16.5105 18.6564L15.4499 17.5958L16.0334 17.0123L17.094 18.0729L18.1547 19.1336L17.5712 19.7171L16.5105 18.6564ZM17.094 18.0729L16.0334 17.0123C16.1795 16.8662 16.2185 16.6481 16.1385 16.4615L17.5173 15.8708L18.8962 15.2802C19.4413 16.5526 19.1996 18.0887 18.1547 19.1336L17.094 18.0729ZM17.5173 15.8708L18.578 16.9315L17.835 17.6745L16.7743 16.6138L15.7137 15.5532L16.4567 14.8102L17.5173 15.8708ZM16.7743 16.6138L18.2736 16.5664C18.2945 17.226 18.0544 17.9026 17.5436 18.4134L16.4829 17.3527L15.4223 16.2921C15.3182 16.3961 15.2711 16.5346 15.2751 16.6613L16.7743 16.6138ZM16.4829 17.3527L17.5436 18.4134L16.8558 19.1011L15.7952 18.0405L14.7345 16.9798L15.4223 16.2921L16.4829 17.3527ZM15.7952 18.0405L16.8556 19.1013C15.8795 20.0771 14.2967 20.0776 13.3203 19.1011L14.3809 18.0405L15.4416 16.9798C15.2461 16.7844 14.9297 16.7847 14.7347 16.9797L15.7952 18.0405ZM14.3809 18.0405L13.3203 19.1011L12.8963 18.6772L13.957 17.6165L15.0176 16.5558L15.4416 16.9798L14.3809 18.0405ZM13.957 17.6165L12.8959 18.6767C11.9207 17.7008 11.92 16.1182 12.8961 15.1418L13.957 16.2023L15.0178 17.2628C15.2133 17.0672 15.2128 16.7512 15.018 16.5563L13.957 17.6165ZM13.957 16.2023L12.8963 15.1416L13.5841 14.4539L14.6447 15.5145L15.7054 16.5752L15.0176 17.2629L13.957 16.2023ZM14.6447 15.5145L13.5841 14.4539C14.1364 13.9015 14.8848 13.6626 15.6007 13.734L15.452 15.2266L15.3032 16.7192C15.443 16.7331 15.5943 16.6862 15.7054 16.5752L14.6447 15.5145ZM15.452 15.2266L14.3913 14.1659L15.1101 13.4471L16.1708 14.5077L17.2315 15.5684L16.5126 16.2872L15.452 15.2266Z" fill="#8E8E8F" mask="url(#path-5-outside-2_9822_43516)"/>
793
- <path d="M20.6852 11.1208C19.9042 10.3398 18.6378 10.3398 17.8568 11.1208L17.2733 11.7043C16.6707 12.3069 16.5358 13.1973 16.8631 13.9319L17.5916 13.2034C17.5657 12.9181 17.6619 12.6236 17.8803 12.4052L18.5674 11.7181C18.9579 11.3276 19.5911 11.3276 19.9816 11.7181L20.4056 12.1421C20.7959 12.5326 20.796 13.1658 20.4056 13.5563L19.7185 14.2434C19.5128 14.449 19.2393 14.5457 18.9699 14.5348L18.2235 15.2812C18.9538 15.596 19.8325 15.4565 20.429 14.86L21.0125 14.2765C21.7935 13.4955 21.7936 12.2291 21.0125 11.4481L20.6852 11.1208Z" fill="white"/>
794
- <rect width="2.59942" height="2.97264" rx="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 21.1133 12.8486)" fill="#8E8E8F"/>
795
- <rect width="1.91578" height="4.24403" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 19.6992 13.8066)" fill="#8E8E8F"/>
796
- <rect width="2.59942" height="2.97264" rx="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 17.3125 16.6455)" fill="#8E8E8F"/>
797
- </g>
798
- </svg>`;
799
- /**
800
- * 遍历割草任务,下述四个字段可以在路径中唯一确定遍历的位置(当前区域、当前块、当前行、在当前行上的路程)
801
- */
802
- const ACTION_BLOCK_COVER = 5;
803
- /**
804
- * 遍历割草块转移任务(在同一区域中的一个块转移到下一个块),下述四个字段可以在路径中唯一确定转移的位置(当前区域、前置块、当前转移路径线序号、在当前线上的路程)
805
- */
806
- const ACTION_BLOCK_TRANSFER = 6;
807
- /**
808
- * 边界割草任务(割草任务内部的巡边任务)
809
- */
810
- const ACTION_BOUNDARY_TASK = 8;
811
-
812
814
  /**
813
815
  * 路径图层
814
816
  * 专门处理路径元素的渲染
@@ -859,15 +861,25 @@ class ChannelLayer extends BaseLayer {
859
861
  }
860
862
  // �� 修改:计算包含所有分区和通道的边界框
861
863
  let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
862
- // 1. 先计算所有分区的边界
863
- for (const partitionId in subBoundaryBorder) {
864
- const boundaryData = subBoundaryBorder[partitionId];
865
- if (boundaryData && boundaryData.coordinates && boundaryData.coordinates.length > 0) {
866
- for (const coord of boundaryData.coordinates) {
867
- minX = Math.min(minX, coord[0]);
868
- minY = Math.min(minY, coord[1]);
869
- maxX = Math.max(maxX, coord[0]);
870
- maxY = Math.max(maxY, coord[1]);
864
+ // 1. 先计算所有分区的边界,如果能拿到边界的svg的大小,就使用这个如果拿不到,就根据分区去计算
865
+ const svg = document.getElementById(SVG_MAP_VIEW_ID);
866
+ if (svg && svg instanceof SVGSVGElement && svg.viewBox) {
867
+ const viewBox = svg.viewBox.baseVal;
868
+ minX = viewBox.x;
869
+ minY = viewBox.y;
870
+ maxX = viewBox.x + viewBox.width;
871
+ maxY = viewBox.y + viewBox.height;
872
+ }
873
+ else {
874
+ for (const partitionId in subBoundaryBorder) {
875
+ const boundaryData = subBoundaryBorder[partitionId];
876
+ if (boundaryData && boundaryData.coordinates && boundaryData.coordinates.length > 0) {
877
+ for (const coord of boundaryData.coordinates) {
878
+ minX = Math.min(minX, coord[0]);
879
+ minY = Math.min(minY, coord[1]);
880
+ maxX = Math.max(maxX, coord[0]);
881
+ maxY = Math.max(maxY, coord[1]);
882
+ }
871
883
  }
872
884
  }
873
885
  }
@@ -1073,7 +1085,7 @@ class PathLayer extends BaseLayer {
1073
1085
  // 2. 创建一个组,应用 clipPath
1074
1086
  const group = document.createElementNS('http://www.w3.org/2000/svg', 'g');
1075
1087
  group.setAttribute('clip-path', `url(#${clipPathId})`);
1076
- group.setAttribute('opacity', '0.35'); // 统一透明度,防止叠加脏乱
1088
+ group.setAttribute('opacity', '0.6'); // 统一透明度,防止叠加脏乱
1077
1089
  // 3. 渲染所有路径
1078
1090
  for (const element of this.elements) {
1079
1091
  const { id, elements } = element;
@@ -1509,7 +1521,7 @@ class VisionOffLayer extends BaseLayer {
1509
1521
  */
1510
1522
  const BOUNDARY_STYLES = {
1511
1523
  lineColor: '#ffffff',
1512
- fillColor: 'rgba(239, 255, 237, 0.15)', // 更鲜艳的绿色半透明填充,增强可见性
1524
+ fillColor: 'rgba(239, 255, 237, 0.1)', // 更鲜艳的绿色半透明填充,增强可见性
1513
1525
  lineWidth: 2,
1514
1526
  opacity: DEFAULT_OPACITIES.FULL,
1515
1527
  mowingLineColor: 'rgba(99, 216, 174, 1)',
@@ -1541,10 +1553,10 @@ const DOODLE_STYLES = {
1541
1553
  };
1542
1554
  const PATH_EDGE_STYLES = {
1543
1555
  lineWidth: DEFAULT_LINE_WIDTHS.PATH,
1544
- opacity: DEFAULT_OPACITIES.LOW,
1545
- edgeLineColor: 'rgba(194, 203, 212)',
1556
+ opacity: DEFAULT_OPACITIES.MEDIUM,
1557
+ edgeLineColor: 'rgba(231, 238, 246)',
1546
1558
  transLineColor: 'transparent',
1547
- mowedLineColor: 'rgba(194, 203, 212)',
1559
+ mowedLineColor: 'rgba(231, 238, 246)',
1548
1560
  mowingLineColor: 'rgba(123, 200, 187)',
1549
1561
  };
1550
1562
  const CHANNEL_STYLES = {
@@ -6732,7 +6744,7 @@ class ChargingPileManager {
6732
6744
  }
6733
6745
  // 简化的层级定义 - 充电桩只需要一个固定层级
6734
6746
  ChargingPileManager.Z_INDEX = {
6735
- CHARGING_PILE: 800, // 充电桩图标固定层级
6747
+ CHARGING_PILE: 750, // 充电桩图标固定层级
6736
6748
  };
6737
6749
 
6738
6750
  /**
@@ -7144,7 +7156,7 @@ class AntennaManager {
7144
7156
  }
7145
7157
  // 简化的层级定义
7146
7158
  AntennaManager.Z_INDEX = {
7147
- DEFAULT: 750, // 默认层级
7159
+ DEFAULT: 800, // 默认层级
7148
7160
  ACTIVE: 9999, // 点击激活时的高层级
7149
7161
  };
7150
7162
 
@@ -7290,10 +7302,22 @@ class MowerPositionManager {
7290
7302
  if (!chargingPilesPositionConfig)
7291
7303
  return;
7292
7304
  this.mowerPositionConfig = chargingPilesPositionConfig;
7305
+ const positonOutOfRange = isOutOfRange(chargingPilesPositionConfig);
7306
+ const positionInValid = isInvalidPosition(chargingPilesPositionConfig);
7307
+ let postureX = 0;
7308
+ let postureY = 0;
7309
+ let postureTheta = 0;
7293
7310
  const lastPosition = this.lastPosition;
7294
- const postureX = chargingPilesPositionConfig.postureX || chargingPilesPositionConfig.lastPostureX || lastPosition?.x || 0;
7295
- const postureY = chargingPilesPositionConfig.postureY || chargingPilesPositionConfig.lastPostureY || lastPosition?.y || 0;
7296
- const postureTheta = chargingPilesPositionConfig.postureTheta || chargingPilesPositionConfig.lastPostureTheta || lastPosition?.rotation || 0;
7311
+ if (positonOutOfRange || positionInValid) {
7312
+ postureX = lastPosition?.x || 0;
7313
+ postureY = lastPosition?.y || 0;
7314
+ postureTheta = lastPosition?.rotation || 0;
7315
+ }
7316
+ else {
7317
+ postureX = chargingPilesPositionConfig.postureX || 0;
7318
+ postureY = chargingPilesPositionConfig.postureY || 0;
7319
+ postureTheta = chargingPilesPositionConfig.postureTheta || 0;
7320
+ }
7297
7321
  console.log('updatePositionByLastPosition->', postureX, postureY, postureTheta, chargingPilesPositionConfig);
7298
7322
  // 检查是否需要更新图片
7299
7323
  this.updateMowerImage(chargingPilesPositionConfig);
@@ -7360,17 +7384,8 @@ class MowerPositionManager {
7360
7384
  const { x: pointX, y: pointY } = convertCoordinate(x, y);
7361
7385
  const targetPixelPosition = this.convertMapCoordinateToOverlayPixel(pointX, pointY);
7362
7386
  const targetRotation = radToDegree(theta);
7363
- const positonOutOfRange = isOutOfRange({
7364
- postureX: x,
7365
- postureY: y});
7366
- const positionValid = isInvalidPosition({
7367
- postureX: x,
7368
- postureY: y,
7369
- postureTheta: theta,
7370
- });
7371
- if (!positonOutOfRange && !positionValid) {
7372
- this.lastPosition = { x, y, rotation: theta };
7373
- }
7387
+ this.currentPosition = { x: x, y: y, rotation: theta };
7388
+ this.lastPosition = { x, y, rotation: theta };
7374
7389
  // console.log('setElementPosition', x, y, theta, targetRotation, positonOutOfRange, positionValid, targetPixelPosition);
7375
7390
  if (!this.mowerElement)
7376
7391
  return;
@@ -7397,15 +7412,29 @@ class MowerPositionManager {
7397
7412
  startAnimationToPosition(positionConfig, duration) {
7398
7413
  if (!this.mowerElement || !this.currentPosition)
7399
7414
  return;
7400
- this.startPosition = {
7401
- ...this.currentPosition,
7402
- rotation: radNormalize(this.currentPosition.rotation),
7403
- };
7404
7415
  this.targetPosition = {
7405
7416
  x: positionConfig.postureX,
7406
7417
  y: positionConfig.postureY,
7407
7418
  rotation: positionConfig.postureTheta,
7408
7419
  };
7420
+ const isTargetPositionInvalid = isInvalidPosition({
7421
+ postureX: this.targetPosition.x,
7422
+ postureY: this.targetPosition.y,
7423
+ postureTheta: this.targetPosition.rotation,
7424
+ });
7425
+ const isTargetPositionOutOfRange = isOutOfRange({
7426
+ postureX: this.targetPosition.x,
7427
+ postureY: this.targetPosition.y,
7428
+ postureTheta: this.targetPosition.rotation,
7429
+ });
7430
+ // 如果目标坐标点不合理,则舍弃不使用
7431
+ if (isTargetPositionInvalid || isTargetPositionOutOfRange) {
7432
+ return;
7433
+ }
7434
+ this.startPosition = {
7435
+ ...this.currentPosition,
7436
+ rotation: radNormalize(this.currentPosition.rotation),
7437
+ };
7409
7438
  this.animationDuration = duration;
7410
7439
  this.startTime = window.performance.now();
7411
7440
  this.isAnimating = true;
@@ -7437,7 +7466,7 @@ class MowerPositionManager {
7437
7466
  * 动画步骤
7438
7467
  */
7439
7468
  animateStep() {
7440
- if (!this.isAnimating || !this.currentPosition || !this.targetPosition || !this.startPosition)
7469
+ if (!this.isAnimating || !this.targetPosition || !this.startPosition)
7441
7470
  return;
7442
7471
  const currentTime = window.performance.now();
7443
7472
  const elapsed = currentTime - this.startTime;
@@ -7448,7 +7477,6 @@ class MowerPositionManager {
7448
7477
  const currentX = this.startPosition.x + this.deltaPosition.x * easedProgress;
7449
7478
  const currentY = this.startPosition.y + this.deltaPosition.y * easedProgress;
7450
7479
  const currentRotation = this.startPosition.rotation + this.deltaPosition.rotation * easedProgress;
7451
- this.currentPosition = { x: currentX, y: currentY, rotation: currentRotation };
7452
7480
  // 假设在这里进行更新路径数据
7453
7481
  if (this.onMowingPositionChange) {
7454
7482
  this.onMowingPositionChange({
@@ -7458,14 +7486,13 @@ class MowerPositionManager {
7458
7486
  });
7459
7487
  }
7460
7488
  // console.log('animateStep-->', this.startPosition, this.deltaPosition, this.targetPosition, easedProgress)
7489
+ this.setElementPosition(currentX, currentY, currentRotation);
7461
7490
  // 继续动画或结束
7462
7491
  if (progress < 1) {
7463
7492
  // 设置当前位置
7464
- this.setElementPosition(currentX, currentY, currentRotation);
7465
7493
  this.animationId = window.requestAnimationFrame(() => this.animateStep());
7466
7494
  }
7467
7495
  else {
7468
- this.setElementPosition(currentX, currentY, currentRotation);
7469
7496
  // 动画完成
7470
7497
  this.stopAnimation();
7471
7498
  // 通知动画完成
@@ -8867,6 +8894,7 @@ const MowerMapRenderer = React.forwardRef(({ mapConfig, modelType, mapRef, mapJs
8867
8894
  const currentProcessMowingStatusRef = React.useRef(false);
8868
8895
  const { updateProcessStateIsMowing, processStateIsMowing } = useProcessMowingState();
8869
8896
  const [mowPartitionData, setMowPartitionData] = React.useState(null);
8897
+ const [robotStatus, setRobotStatus] = React.useState(null);
8870
8898
  // Debug相关状态
8871
8899
  const [debugInfo, setDebugInfo] = React.useState({});
8872
8900
  // 处理地图分区边界
@@ -9219,29 +9247,38 @@ const MowerMapRenderer = React.forwardRef(({ mapConfig, modelType, mapRef, mapJs
9219
9247
  return;
9220
9248
  }
9221
9249
  console.log('usefeect realTimeData----->', realTimeData, mapJson, pathJson, overlayRef.current);
9250
+ let curMowPartitionData = mowPartitionData;
9222
9251
  // realtime中包含当前割草任务的数据,根据数据进行path路径和边界的高亮操作,
9223
9252
  const mowingPartition = realTimeData.find((item) => item.type === RealTimeDataType.PARTITION);
9224
9253
  if (mowingPartition) {
9225
9254
  setMowPartitionData(mowingPartition);
9255
+ curMowPartitionData = mowingPartition;
9226
9256
  }
9227
- const curMowPartitionData = mowingPartition || mowPartitionData;
9257
+ const positionData = realTimeData?.find(item => item?.type === RealTimeDataType.LOCATION);
9228
9258
  const statusData = realTimeData?.find(item => item?.type === RealTimeDataType.STATUS);
9229
- if (statusData) {
9259
+ if (statusData || positionData) {
9260
+ const currentStatus = statusData?.vehicleState || positionData?.vehicleState;
9230
9261
  // 车辆回桩不会回传最后的park的位置,所以根据实时数据的状态数据判断车辆回到桩上
9231
- if ([RobotStatus.CHARGING, RobotStatus.PARKED].includes(statusData?.vehicleState || RobotStatus.UNKNOWN)) {
9262
+ if ([RobotStatus.CHARGING, RobotStatus.PARKED].includes(currentStatus || RobotStatus.UNKNOWN)) {
9232
9263
  resetInCharginPie();
9233
9264
  }
9234
- else if (statusData?.vehicleState === RobotStatus.MOWING) {
9265
+ else if (currentStatus === RobotStatus.WORKING) {
9235
9266
  // 兜底收不到割草地块的实时数据,使用状态来兜底
9236
- const partitionids = curMowPartitionData?.partitionIds;
9237
- if (!partitionids) {
9238
- overlayRef.current.setBorderLayerHighlight();
9239
- }
9240
- }
9241
- else if (statusData?.vehicleState === RobotStatus.WORKING) {
9242
- // 同上
9243
9267
  overlayRef.current.resetBorderLayerHighlight();
9268
+ setMowPartitionData({});
9269
+ curMowPartitionData = {};
9270
+ }
9271
+ else if (robotStatus !== currentStatus && currentStatus === RobotStatus.MOWING && !mowPartitionData?.partitionIds) {
9272
+ // 如果当前是割草状态,但是地块数据不存在则认为是全局割草,则把所有地块都高亮
9273
+ const allPartitionIds = mapJson?.sub_maps?.map(item => item?.id);
9274
+ setMowPartitionData({
9275
+ partitionIds: allPartitionIds
9276
+ });
9277
+ curMowPartitionData = {
9278
+ partitionIds: allPartitionIds
9279
+ };
9244
9280
  }
9281
+ setRobotStatus(currentStatus);
9245
9282
  }
9246
9283
  if (!mapJson ||
9247
9284
  !pathJson ||
@@ -1 +1 @@
1
- {"version":3,"file":"MowerMapRenderer.d.ts","sourceRoot":"","sources":["../../src/render/MowerMapRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AA4Cf,OAAO,EAAa,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAO1F,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,GAAG,CAAC;KACb;CACF;AAgGD,eAAO,MAAM,gBAAgB,mGA4sB5B,CAAC;AAIF,eAAe,gBAAgB,CAAC;AAChC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"MowerMapRenderer.d.ts","sourceRoot":"","sources":["../../src/render/MowerMapRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AA4Cf,OAAO,EAAa,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAO1F,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,GAAG,CAAC;KACb;CACF;AAgGD,eAAO,MAAM,gBAAgB,mGAqtB5B,CAAC;AAIF,eAAe,gBAAgB,CAAC;AAChC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MowerPositionManager.d.ts","sourceRoot":"","sources":["../../src/render/MowerPositionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAKL,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,aAAa,CAAiB;IAGtC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,eAAe,CAA2D;IAClF,OAAO,CAAC,cAAc,CAA2D;IACjF,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,mBAAmB,CAAC,CAAa;IACzC,OAAO,CAAC,sBAAsB,CAAC,CAIpB;gBAGT,OAAO,EAAE,UAAU,EACnB,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,WAAW,EACvB,mBAAmB,CAAC,EAAE,MAAM,IAAI,EAChC,sBAAsB,CAAC,EAAE,CAAC,YAAY,EAAE;QACtC,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,YAAY,EAAE,WAAW,CAAC;KAC3B,KAAK,IAAI;IAWZ,IAAI,aAAa,YAEhB;IAED;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,4BAA4B,CAC1B,2BAA2B,CAAC,EAAE,mBAAmB;IAqBnD;;OAEG;IACH,cAAc,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,GAAE,MAAU;IA+C7E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA+ChC,mBAAmB;IAKnB;;OAEG;IACH,OAAO,CAAC,WAAW;IA+CnB;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA6B1C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAQ3B;;OAEG;IACH,OAAO;CAWR"}
1
+ {"version":3,"file":"MowerPositionManager.d.ts","sourceRoot":"","sources":["../../src/render/MowerPositionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAKL,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,aAAa,CAAiB;IAGtC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,eAAe,CAA2D;IAClF,OAAO,CAAC,cAAc,CAA2D;IACjF,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,mBAAmB,CAAC,CAAa;IACzC,OAAO,CAAC,sBAAsB,CAAC,CAIpB;gBAGT,OAAO,EAAE,UAAU,EACnB,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,WAAW,EACvB,mBAAmB,CAAC,EAAE,MAAM,IAAI,EAChC,sBAAsB,CAAC,EAAE,CAAC,YAAY,EAAE;QACtC,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,YAAY,EAAE,WAAW,CAAC;KAC3B,KAAK,IAAI;IAWZ,IAAI,aAAa,YAEhB;IAED;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,4BAA4B,CAC1B,2BAA2B,CAAC,EAAE,mBAAmB;IAmCnD;;OAEG;IACH,cAAc,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,GAAE,MAAU;IA+C7E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkEhC,mBAAmB;IAKnB;;OAEG;IACH,OAAO,CAAC,WAAW;IA4CnB;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA6B1C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAQ3B;;OAEG;IACH,OAAO;CAWR"}
@@ -1 +1 @@
1
- {"version":3,"file":"SvgMapView.d.ts","sourceRoot":"","sources":["../../src/render/SvgMapView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SvgMapView.d.ts","sourceRoot":"","sources":["../../src/render/SvgMapView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;GAGG;AACH,qBAAa,UAAU;IAErB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,OAAO,CAA0D;IAGzE,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,WAAW,CAAc;IAGjC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,SAAS,CAAa;IAG9B,OAAO,CAAC,SAAS,CAAkB;IAKnC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;gBAEnB,gBAAgB,EAAE,WAAW,EAAE,KAAK,GAAE,MAAY,EAAE,MAAM,GAAE,MAAY;IAsBpF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAQhB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;IAOpC,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAIrD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAOhC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IASnC;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUrC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA8CnF;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS/B;;OAEG;IACH,OAAO,CAAC,MAAM;IAQd;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8EpB;;OAEG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,WAAW;IAiBnB;;OAEG;IACH,oBAAoB,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiBtF;;OAEG;IACH,cAAc,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAIzE;;OAEG;IACH,gBAAgB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAQrD;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAE1B;;OAEG;IACH,MAAM,IAAI,aAAa;IAIvB;;OAEG;IACH,YAAY,IAAI,WAAW;IAI3B;;OAEG;IACH,SAAS,IAAI,SAAS,EAAE;IAIxB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,OAAO,IAAI,IAAI;IAef;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAS5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/ChannelLayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,KAAK,EAAE,MAAM,CAAK;IAClB,KAAK,EAAE,MAAM,CAAK;;IAOlB;;OAEG;IACI,WAAW,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE;IAIjD;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAe1D;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAiH1C;;OAEG;IACH,OAAO,CAAC,UAAU;CA0DnB"}
1
+ {"version":3,"file":"ChannelLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/ChannelLayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,KAAK,EAAE,MAAM,CAAK;IAClB,KAAK,EAAE,MAAM,CAAK;;IAOlB;;OAEG;IACI,WAAW,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE;IAIjD;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAe1D;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA0H1C;;OAEG;IACH,OAAO,CAAC,UAAU;CA0DnB"}
@@ -90,7 +90,7 @@ export interface MowerPositionConfig {
90
90
  lastPostureTheta?: number;
91
91
  lastPostureX?: number;
92
92
  lastPostureY?: number;
93
- vehicleState: RobotStatus;
93
+ vehicleState?: RobotStatus;
94
94
  }
95
95
  export interface MowerPartitionInfo {
96
96
  partitionIds: number[];
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/types/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/types/renderer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fleet-frontend/mower-maps",
3
- "version": "0.0.9-beta.6",
3
+ "version": "0.0.9-beta.8",
4
4
  "type": "module",
5
5
  "description": "a mower maps in google maps",
6
6
  "main": "dist/index.js",