@fleet-frontend/mower-maps 0.1.1-beta.1 → 0.1.1-beta.3
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/dist/config/constants.d.ts +1 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/index.esm.js +148 -8
- package/dist/index.js +148 -8
- package/dist/processor/MapDataProcessor.d.ts.map +1 -1
- package/dist/processor/builder/MowGateDataBuilder.d.ts +16 -0
- package/dist/processor/builder/MowGateDataBuilder.d.ts.map +1 -0
- package/dist/render/MowerMapOverlay.d.ts.map +1 -1
- package/dist/render/layers/DrawLayer.d.ts +1 -0
- package/dist/render/layers/DrawLayer.d.ts.map +1 -1
- package/dist/render/layers/MowGateLayer.d.ts +19 -0
- package/dist/render/layers/MowGateLayer.d.ts.map +1 -0
- package/dist/render/layers/ObstacleLayer.d.ts.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/elements.d.ts +12 -1
- package/dist/types/elements.d.ts.map +1 -1
- package/dist/types/layers.d.ts +1 -1
- package/dist/types/layers.d.ts.map +1 -1
- package/dist/types/map.d.ts +12 -0
- package/dist/types/map.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -69,6 +69,7 @@ export declare const LAYER_DEFAULT_TYPE: {
|
|
|
69
69
|
readonly SVG: "svg";
|
|
70
70
|
readonly VISION_OFF_AREA: "vision_off_area";
|
|
71
71
|
readonly ANTENNA: "antenna";
|
|
72
|
+
readonly MOW_GATE: "mow_gate";
|
|
72
73
|
};
|
|
73
74
|
export { RobotStatus, RTK_STATE, REAL_TIME_DATA_TYPE } from '../types/constants';
|
|
74
75
|
export declare const ISOLATED_BOUNDARY_SVG = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g opacity=\"0.6\">\n<rect width=\"24\" height=\"24\" rx=\"12\" fill=\"#1E1E1F\" fill-opacity=\"0.5\"/>\n<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\"/>\n<mask id=\"path-3-outside-1_9822_43516\" maskUnits=\"userSpaceOnUse\" x=\"13.2344\" y=\"7.20545\" width=\"12.0208\" height=\"12.0208\" fill=\"black\">\n<rect fill=\"white\" x=\"13.2344\" y=\"7.20545\" width=\"12.0208\" height=\"12.0208\"/>\n<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\"/>\n</mask>\n<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\"/>\n<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)\"/>\n<mask id=\"path-5-outside-2_9822_43516\" maskUnits=\"userSpaceOnUse\" x=\"9.22265\" y=\"10.388\" width=\"12.7279\" height=\"12.7279\" fill=\"black\">\n<rect fill=\"white\" x=\"9.22265\" y=\"10.388\" width=\"12.7279\" height=\"12.7279\"/>\n<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\"/>\n</mask>\n<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\"/>\n<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)\"/>\n<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\"/>\n<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\"/>\n<rect width=\"1.91578\" height=\"4.24403\" transform=\"matrix(-0.707107 -0.707107 -0.707107 0.707107 19.6992 13.8066)\" fill=\"#8E8E8F\"/>\n<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\"/>\n</g>\n</svg>";
|
|
@@ -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;;;;;;;CAOpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;CAUf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB
|
|
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;;;;;;;CAOpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;CAUf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAYrB,CAAC;AAGX,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -94,6 +94,7 @@ const LAYER_DEFAULT_TYPE = {
|
|
|
94
94
|
SVG: 'svg',
|
|
95
95
|
VISION_OFF_AREA: 'vision_off_area',
|
|
96
96
|
ANTENNA: 'antenna',
|
|
97
|
+
MOW_GATE: 'mow_gate',
|
|
97
98
|
};
|
|
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">
|
|
99
100
|
<g opacity="0.6">
|
|
@@ -7662,12 +7663,8 @@ class ObstacleLayer extends BaseLayer {
|
|
|
7662
7663
|
* 渲染障碍物元素
|
|
7663
7664
|
*/
|
|
7664
7665
|
renderObstacle(svgGroup, element) {
|
|
7665
|
-
const { coordinates, style
|
|
7666
|
-
|
|
7667
|
-
if (coordinates.length < 2 ||
|
|
7668
|
-
status === 0 ||
|
|
7669
|
-
start_timestamp > Date.now() / 1000 ||
|
|
7670
|
-
end_timestamp < Date.now() / 1000) {
|
|
7666
|
+
const { coordinates, style } = element;
|
|
7667
|
+
if (coordinates.length < 3) {
|
|
7671
7668
|
return;
|
|
7672
7669
|
}
|
|
7673
7670
|
// 1. 先遍历所有的coordinates,把所有点分为若干段的path
|
|
@@ -7686,8 +7683,6 @@ class ObstacleLayer extends BaseLayer {
|
|
|
7686
7683
|
this.createParallelPathsWithMeasure(svgGroup, segment.points, style);
|
|
7687
7684
|
}
|
|
7688
7685
|
});
|
|
7689
|
-
if (coordinates.length < 3)
|
|
7690
|
-
return;
|
|
7691
7686
|
const polygon = document.createElementNS('http://www.w3.org/2000/svg', 'polygon');
|
|
7692
7687
|
// 构建点集合,使用整数坐标
|
|
7693
7688
|
const points = coordinates.map((coord) => `${coord[0]},${coord[1]}`).join(' ');
|
|
@@ -8426,6 +8421,85 @@ class AntennaLayer extends BaseLayer {
|
|
|
8426
8421
|
}
|
|
8427
8422
|
}
|
|
8428
8423
|
|
|
8424
|
+
/**
|
|
8425
|
+
* SVG元素图层
|
|
8426
|
+
* 专门处理SVG元素的渲染
|
|
8427
|
+
*/
|
|
8428
|
+
class MowGateLayer extends BaseLayer {
|
|
8429
|
+
constructor() {
|
|
8430
|
+
super();
|
|
8431
|
+
this.level = 6;
|
|
8432
|
+
this.scale = 1;
|
|
8433
|
+
this.type = LAYER_DEFAULT_TYPE.MOW_GATE;
|
|
8434
|
+
}
|
|
8435
|
+
/**
|
|
8436
|
+
* SVG渲染方法
|
|
8437
|
+
*/
|
|
8438
|
+
drawSVG(svgGroup) {
|
|
8439
|
+
if (!this.visible || this.elements.length === 0) {
|
|
8440
|
+
return;
|
|
8441
|
+
}
|
|
8442
|
+
// 只渲染SVG类型的元素
|
|
8443
|
+
for (const element of this.elements) {
|
|
8444
|
+
this.renderMowGateElement(svgGroup, element);
|
|
8445
|
+
}
|
|
8446
|
+
}
|
|
8447
|
+
/**
|
|
8448
|
+
* 渲染SVG元素
|
|
8449
|
+
*/
|
|
8450
|
+
renderMowGateElement(svgGroup, element) {
|
|
8451
|
+
const { coordinates, style, metadata } = element;
|
|
8452
|
+
console.log('mowgate', element);
|
|
8453
|
+
if (coordinates.length === 0)
|
|
8454
|
+
return;
|
|
8455
|
+
const center = coordinates[0];
|
|
8456
|
+
// Inline MowGate SVG markup
|
|
8457
|
+
const svgMarkup = `<svg width="22" height="22" viewBox="0 0 43 42" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
8458
|
+
<rect x="1.5" y="1.5" width="39" height="39" rx="19.5" fill="#EBEEF1" stroke="white" stroke-width="3"/>
|
|
8459
|
+
<path d="M28.6641 11.918C30.6523 11.918 32.2637 13.5304 32.2637 15.5186V29.002C32.2637 29.5984 31.7801 30.082 31.1836 30.082H10.8164C10.2201 30.0819 9.73633 29.5983 9.73633 29.002V15.5186C9.73633 13.5303 11.3487 11.918 13.3369 11.918H28.6641Z" fill="url(#paint0_linear_15603_15792)" stroke="#676E88" stroke-width="1.8"/>
|
|
8460
|
+
<rect x="20.4541" y="12.8184" width="1.09091" height="16.3636" fill="white" fill-opacity="0.3"/>
|
|
8461
|
+
<mask id="path-4-inside-1_15603_15792" fill="white">
|
|
8462
|
+
<rect x="16.0909" y="16.0918" width="9.81818" height="9.81818" rx="0.9"/>
|
|
8463
|
+
</mask>
|
|
8464
|
+
<rect x="16.0909" y="16.0918" width="9.81818" height="9.81818" rx="0.9" stroke="white" stroke-width="2.18182" stroke-dasharray="2.7 2.7" mask="url(#path-4-inside-1_15603_15792)"/>
|
|
8465
|
+
<defs>
|
|
8466
|
+
<linearGradient id="paint0_linear_15603_15792" x1="20.0292" y1="10.6652" x2="23.7032" y2="28.6292" gradientUnits="userSpaceOnUse">
|
|
8467
|
+
<stop stop-color="#8488A2"/>
|
|
8468
|
+
<stop offset="0.649539" stop-color="#585B71"/>
|
|
8469
|
+
<stop offset="0.885026" stop-color="#444959"/>
|
|
8470
|
+
</linearGradient>
|
|
8471
|
+
</defs>
|
|
8472
|
+
</svg>`;
|
|
8473
|
+
try {
|
|
8474
|
+
const parser = new DOMParser();
|
|
8475
|
+
const svgDoc = parser.parseFromString(svgMarkup, 'image/svg+xml');
|
|
8476
|
+
const svgEl = svgDoc.documentElement;
|
|
8477
|
+
if (!svgEl || svgEl.tagName.toLowerCase() !== 'svg')
|
|
8478
|
+
return;
|
|
8479
|
+
const originalWidth = parseFloat(svgEl.getAttribute('width') || '20');
|
|
8480
|
+
const originalHeight = parseFloat(svgEl.getAttribute('height') || '20');
|
|
8481
|
+
const userScale = metadata?.scale || 1;
|
|
8482
|
+
const direction = metadata?.direction || 0;
|
|
8483
|
+
const transformGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
|
8484
|
+
const transform = [
|
|
8485
|
+
`translate(${center[0]}, ${center[1]})`,
|
|
8486
|
+
`rotate(${-(direction * 180) / Math.PI})`,
|
|
8487
|
+
`scale(${userScale})`,
|
|
8488
|
+
`translate(${-originalWidth / 2}, ${-originalHeight / 2})`,
|
|
8489
|
+
].join(' ');
|
|
8490
|
+
transformGroup.setAttribute('transform', transform);
|
|
8491
|
+
if (style?.opacity !== undefined) {
|
|
8492
|
+
transformGroup.setAttribute('opacity', String(style.opacity));
|
|
8493
|
+
}
|
|
8494
|
+
transformGroup.appendChild(svgEl);
|
|
8495
|
+
svgGroup.appendChild(transformGroup);
|
|
8496
|
+
}
|
|
8497
|
+
catch {
|
|
8498
|
+
// ignore parse errors
|
|
8499
|
+
}
|
|
8500
|
+
}
|
|
8501
|
+
}
|
|
8502
|
+
|
|
8429
8503
|
/**
|
|
8430
8504
|
* DrawLayer 绘制图层
|
|
8431
8505
|
* 负责管理和渲染各种类型的矢量图形元素
|
|
@@ -8455,6 +8529,8 @@ class DrawLayer extends BaseLayer {
|
|
|
8455
8529
|
this.svgElementLayer = new SvgElementLayer();
|
|
8456
8530
|
// 视觉盲区图层
|
|
8457
8531
|
this.visionOffLayer = new VisionOffLayer();
|
|
8532
|
+
// 狗洞图层
|
|
8533
|
+
this.mowgateLayer = new MowGateLayer();
|
|
8458
8534
|
}
|
|
8459
8535
|
// ==================== 元素管理 ====================
|
|
8460
8536
|
/**
|
|
@@ -8494,6 +8570,9 @@ class DrawLayer extends BaseLayer {
|
|
|
8494
8570
|
case 'vision_off_area':
|
|
8495
8571
|
this.visionOffLayer.addElement(element);
|
|
8496
8572
|
break;
|
|
8573
|
+
case 'mow_gate':
|
|
8574
|
+
this.mowgateLayer.addElement(element);
|
|
8575
|
+
break;
|
|
8497
8576
|
}
|
|
8498
8577
|
}
|
|
8499
8578
|
/**
|
|
@@ -8521,6 +8600,7 @@ class DrawLayer extends BaseLayer {
|
|
|
8521
8600
|
this.pointLayer.clearElements();
|
|
8522
8601
|
this.svgElementLayer.clearElements();
|
|
8523
8602
|
this.visionOffLayer.clearElements();
|
|
8603
|
+
this.mowgateLayer.clearElements();
|
|
8524
8604
|
}
|
|
8525
8605
|
// ==================== SVG渲染系统 ====================
|
|
8526
8606
|
/**
|
|
@@ -8541,6 +8621,7 @@ class DrawLayer extends BaseLayer {
|
|
|
8541
8621
|
this.pointLayer.drawSVG(svgGroup, scale);
|
|
8542
8622
|
this.svgElementLayer.drawSVG(svgGroup, scale);
|
|
8543
8623
|
this.visionOffLayer.drawSVG(svgGroup, scale);
|
|
8624
|
+
this.mowgateLayer.drawSVG(svgGroup, scale);
|
|
8544
8625
|
}
|
|
8545
8626
|
getLayers() {
|
|
8546
8627
|
return [
|
|
@@ -8554,6 +8635,7 @@ class DrawLayer extends BaseLayer {
|
|
|
8554
8635
|
this.pointLayer,
|
|
8555
8636
|
this.svgElementLayer,
|
|
8556
8637
|
this.visionOffLayer,
|
|
8638
|
+
this.mowgateLayer
|
|
8557
8639
|
]?.filter((layer) => layer.getElements().length > 0);
|
|
8558
8640
|
}
|
|
8559
8641
|
getPathLayers() {
|
|
@@ -8855,6 +8937,42 @@ class ChannelDataBuilder {
|
|
|
8855
8937
|
}
|
|
8856
8938
|
}
|
|
8857
8939
|
|
|
8940
|
+
/**
|
|
8941
|
+
* SVG元素数据构建器
|
|
8942
|
+
*/
|
|
8943
|
+
class MowGateDataBuilder {
|
|
8944
|
+
/**
|
|
8945
|
+
* 创建SVG元素数据
|
|
8946
|
+
*/
|
|
8947
|
+
static create(center, metadata, style) {
|
|
8948
|
+
return {
|
|
8949
|
+
type: 'mow_gate',
|
|
8950
|
+
coordinates: [center],
|
|
8951
|
+
style,
|
|
8952
|
+
metadata,
|
|
8953
|
+
};
|
|
8954
|
+
}
|
|
8955
|
+
/**
|
|
8956
|
+
* 从地图元素创建SVG数据(用于时间限制障碍物)
|
|
8957
|
+
*/
|
|
8958
|
+
static fromMapElement(element, style) {
|
|
8959
|
+
if (!element?.position) {
|
|
8960
|
+
return null;
|
|
8961
|
+
}
|
|
8962
|
+
const center = convertPositionFormat(element?.position);
|
|
8963
|
+
if (!center)
|
|
8964
|
+
return null;
|
|
8965
|
+
const drawElement = this.create([center.x, center.y], {
|
|
8966
|
+
area: element.area,
|
|
8967
|
+
direction: element.direction,
|
|
8968
|
+
width: element.width,
|
|
8969
|
+
length: element.length
|
|
8970
|
+
}, style);
|
|
8971
|
+
drawElement.originalData = element; // 保存完整的原始数据
|
|
8972
|
+
return drawElement;
|
|
8973
|
+
}
|
|
8974
|
+
}
|
|
8975
|
+
|
|
8858
8976
|
/**
|
|
8859
8977
|
* 地图数据处理器
|
|
8860
8978
|
* 负责将原始的地图数据转换为可渲染的图层元素
|
|
@@ -8892,6 +9010,11 @@ class MapDataProcessor {
|
|
|
8892
9010
|
if (mapData.vision_off_areas && mapData.vision_off_areas.length > 0) {
|
|
8893
9011
|
allElements.push(...mapData.vision_off_areas);
|
|
8894
9012
|
}
|
|
9013
|
+
// 处理狗洞
|
|
9014
|
+
if (mapData.mow_gates
|
|
9015
|
+
&& mapData.mow_gates.length > 0) {
|
|
9016
|
+
allElements.push(...mapData.mow_gates);
|
|
9017
|
+
}
|
|
8895
9018
|
// 按照元素类型分组并设置不同的层级
|
|
8896
9019
|
return this.createLayeredMapData(allElements);
|
|
8897
9020
|
}
|
|
@@ -8909,6 +9032,7 @@ class MapDataProcessor {
|
|
|
8909
9032
|
BOUNDARY: [],
|
|
8910
9033
|
TUNNEL: [],
|
|
8911
9034
|
TUNNEL_TO_CHARGING_PILE: [],
|
|
9035
|
+
MOW_GATE: []
|
|
8912
9036
|
};
|
|
8913
9037
|
// 分组所有元素
|
|
8914
9038
|
for (const element of elements) {
|
|
@@ -8925,6 +9049,7 @@ class MapDataProcessor {
|
|
|
8925
9049
|
CHARGING_PILE: 150, // 高层级
|
|
8926
9050
|
VISION_OFF_AREA: 150, // 高层级
|
|
8927
9051
|
TIME_LIMIT_OBSTACLE: 150, // 高层级(最高优先级)
|
|
9052
|
+
MOW_GATE: 200
|
|
8928
9053
|
};
|
|
8929
9054
|
// 创建合并的图层
|
|
8930
9055
|
const allDrawElements = [];
|
|
@@ -9102,6 +9227,20 @@ class MapDataProcessor {
|
|
|
9102
9227
|
}
|
|
9103
9228
|
break;
|
|
9104
9229
|
}
|
|
9230
|
+
case 'MOW_GATE': {
|
|
9231
|
+
try {
|
|
9232
|
+
const mapElement = element;
|
|
9233
|
+
const mowGateElement = MowGateDataBuilder.fromMapElement(mapElement, this.mapConfig.doodle);
|
|
9234
|
+
if (mowGateElement)
|
|
9235
|
+
result.push({
|
|
9236
|
+
...mowGateElement,
|
|
9237
|
+
});
|
|
9238
|
+
}
|
|
9239
|
+
catch (error) {
|
|
9240
|
+
console.warn(`Error processing MOW_GATE element:`, element, error);
|
|
9241
|
+
}
|
|
9242
|
+
break;
|
|
9243
|
+
}
|
|
9105
9244
|
default: {
|
|
9106
9245
|
console.warn(`Unknown element type: ${element.type}`, element);
|
|
9107
9246
|
break;
|
|
@@ -11761,6 +11900,7 @@ class MowerMapOverlay {
|
|
|
11761
11900
|
try {
|
|
11762
11901
|
// 使用现有的MapDataProcessor处理地图数据
|
|
11763
11902
|
const elements = MapDataProcessor.processMapData(this.sn, this.mapData, this.mapConfig);
|
|
11903
|
+
console.log('element->', elements);
|
|
11764
11904
|
// 分离充电桩和天线元素,其他元素添加到SVG图层
|
|
11765
11905
|
const svgElements = elements.filter((element) => element.type !== 'charging_pile' && element.type !== 'antenna');
|
|
11766
11906
|
const chargingPileElements = elements.filter((element) => element.type === 'charging_pile');
|
package/dist/index.js
CHANGED
|
@@ -96,6 +96,7 @@ const LAYER_DEFAULT_TYPE = {
|
|
|
96
96
|
SVG: 'svg',
|
|
97
97
|
VISION_OFF_AREA: 'vision_off_area',
|
|
98
98
|
ANTENNA: 'antenna',
|
|
99
|
+
MOW_GATE: 'mow_gate',
|
|
99
100
|
};
|
|
100
101
|
const ISOLATED_BOUNDARY_SVG = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
101
102
|
<g opacity="0.6">
|
|
@@ -7664,12 +7665,8 @@ class ObstacleLayer extends BaseLayer {
|
|
|
7664
7665
|
* 渲染障碍物元素
|
|
7665
7666
|
*/
|
|
7666
7667
|
renderObstacle(svgGroup, element) {
|
|
7667
|
-
const { coordinates, style
|
|
7668
|
-
|
|
7669
|
-
if (coordinates.length < 2 ||
|
|
7670
|
-
status === 0 ||
|
|
7671
|
-
start_timestamp > Date.now() / 1000 ||
|
|
7672
|
-
end_timestamp < Date.now() / 1000) {
|
|
7668
|
+
const { coordinates, style } = element;
|
|
7669
|
+
if (coordinates.length < 3) {
|
|
7673
7670
|
return;
|
|
7674
7671
|
}
|
|
7675
7672
|
// 1. 先遍历所有的coordinates,把所有点分为若干段的path
|
|
@@ -7688,8 +7685,6 @@ class ObstacleLayer extends BaseLayer {
|
|
|
7688
7685
|
this.createParallelPathsWithMeasure(svgGroup, segment.points, style);
|
|
7689
7686
|
}
|
|
7690
7687
|
});
|
|
7691
|
-
if (coordinates.length < 3)
|
|
7692
|
-
return;
|
|
7693
7688
|
const polygon = document.createElementNS('http://www.w3.org/2000/svg', 'polygon');
|
|
7694
7689
|
// 构建点集合,使用整数坐标
|
|
7695
7690
|
const points = coordinates.map((coord) => `${coord[0]},${coord[1]}`).join(' ');
|
|
@@ -8428,6 +8423,85 @@ class AntennaLayer extends BaseLayer {
|
|
|
8428
8423
|
}
|
|
8429
8424
|
}
|
|
8430
8425
|
|
|
8426
|
+
/**
|
|
8427
|
+
* SVG元素图层
|
|
8428
|
+
* 专门处理SVG元素的渲染
|
|
8429
|
+
*/
|
|
8430
|
+
class MowGateLayer extends BaseLayer {
|
|
8431
|
+
constructor() {
|
|
8432
|
+
super();
|
|
8433
|
+
this.level = 6;
|
|
8434
|
+
this.scale = 1;
|
|
8435
|
+
this.type = LAYER_DEFAULT_TYPE.MOW_GATE;
|
|
8436
|
+
}
|
|
8437
|
+
/**
|
|
8438
|
+
* SVG渲染方法
|
|
8439
|
+
*/
|
|
8440
|
+
drawSVG(svgGroup) {
|
|
8441
|
+
if (!this.visible || this.elements.length === 0) {
|
|
8442
|
+
return;
|
|
8443
|
+
}
|
|
8444
|
+
// 只渲染SVG类型的元素
|
|
8445
|
+
for (const element of this.elements) {
|
|
8446
|
+
this.renderMowGateElement(svgGroup, element);
|
|
8447
|
+
}
|
|
8448
|
+
}
|
|
8449
|
+
/**
|
|
8450
|
+
* 渲染SVG元素
|
|
8451
|
+
*/
|
|
8452
|
+
renderMowGateElement(svgGroup, element) {
|
|
8453
|
+
const { coordinates, style, metadata } = element;
|
|
8454
|
+
console.log('mowgate', element);
|
|
8455
|
+
if (coordinates.length === 0)
|
|
8456
|
+
return;
|
|
8457
|
+
const center = coordinates[0];
|
|
8458
|
+
// Inline MowGate SVG markup
|
|
8459
|
+
const svgMarkup = `<svg width="22" height="22" viewBox="0 0 43 42" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
8460
|
+
<rect x="1.5" y="1.5" width="39" height="39" rx="19.5" fill="#EBEEF1" stroke="white" stroke-width="3"/>
|
|
8461
|
+
<path d="M28.6641 11.918C30.6523 11.918 32.2637 13.5304 32.2637 15.5186V29.002C32.2637 29.5984 31.7801 30.082 31.1836 30.082H10.8164C10.2201 30.0819 9.73633 29.5983 9.73633 29.002V15.5186C9.73633 13.5303 11.3487 11.918 13.3369 11.918H28.6641Z" fill="url(#paint0_linear_15603_15792)" stroke="#676E88" stroke-width="1.8"/>
|
|
8462
|
+
<rect x="20.4541" y="12.8184" width="1.09091" height="16.3636" fill="white" fill-opacity="0.3"/>
|
|
8463
|
+
<mask id="path-4-inside-1_15603_15792" fill="white">
|
|
8464
|
+
<rect x="16.0909" y="16.0918" width="9.81818" height="9.81818" rx="0.9"/>
|
|
8465
|
+
</mask>
|
|
8466
|
+
<rect x="16.0909" y="16.0918" width="9.81818" height="9.81818" rx="0.9" stroke="white" stroke-width="2.18182" stroke-dasharray="2.7 2.7" mask="url(#path-4-inside-1_15603_15792)"/>
|
|
8467
|
+
<defs>
|
|
8468
|
+
<linearGradient id="paint0_linear_15603_15792" x1="20.0292" y1="10.6652" x2="23.7032" y2="28.6292" gradientUnits="userSpaceOnUse">
|
|
8469
|
+
<stop stop-color="#8488A2"/>
|
|
8470
|
+
<stop offset="0.649539" stop-color="#585B71"/>
|
|
8471
|
+
<stop offset="0.885026" stop-color="#444959"/>
|
|
8472
|
+
</linearGradient>
|
|
8473
|
+
</defs>
|
|
8474
|
+
</svg>`;
|
|
8475
|
+
try {
|
|
8476
|
+
const parser = new DOMParser();
|
|
8477
|
+
const svgDoc = parser.parseFromString(svgMarkup, 'image/svg+xml');
|
|
8478
|
+
const svgEl = svgDoc.documentElement;
|
|
8479
|
+
if (!svgEl || svgEl.tagName.toLowerCase() !== 'svg')
|
|
8480
|
+
return;
|
|
8481
|
+
const originalWidth = parseFloat(svgEl.getAttribute('width') || '20');
|
|
8482
|
+
const originalHeight = parseFloat(svgEl.getAttribute('height') || '20');
|
|
8483
|
+
const userScale = metadata?.scale || 1;
|
|
8484
|
+
const direction = metadata?.direction || 0;
|
|
8485
|
+
const transformGroup = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
|
8486
|
+
const transform = [
|
|
8487
|
+
`translate(${center[0]}, ${center[1]})`,
|
|
8488
|
+
`rotate(${-(direction * 180) / Math.PI})`,
|
|
8489
|
+
`scale(${userScale})`,
|
|
8490
|
+
`translate(${-originalWidth / 2}, ${-originalHeight / 2})`,
|
|
8491
|
+
].join(' ');
|
|
8492
|
+
transformGroup.setAttribute('transform', transform);
|
|
8493
|
+
if (style?.opacity !== undefined) {
|
|
8494
|
+
transformGroup.setAttribute('opacity', String(style.opacity));
|
|
8495
|
+
}
|
|
8496
|
+
transformGroup.appendChild(svgEl);
|
|
8497
|
+
svgGroup.appendChild(transformGroup);
|
|
8498
|
+
}
|
|
8499
|
+
catch {
|
|
8500
|
+
// ignore parse errors
|
|
8501
|
+
}
|
|
8502
|
+
}
|
|
8503
|
+
}
|
|
8504
|
+
|
|
8431
8505
|
/**
|
|
8432
8506
|
* DrawLayer 绘制图层
|
|
8433
8507
|
* 负责管理和渲染各种类型的矢量图形元素
|
|
@@ -8457,6 +8531,8 @@ class DrawLayer extends BaseLayer {
|
|
|
8457
8531
|
this.svgElementLayer = new SvgElementLayer();
|
|
8458
8532
|
// 视觉盲区图层
|
|
8459
8533
|
this.visionOffLayer = new VisionOffLayer();
|
|
8534
|
+
// 狗洞图层
|
|
8535
|
+
this.mowgateLayer = new MowGateLayer();
|
|
8460
8536
|
}
|
|
8461
8537
|
// ==================== 元素管理 ====================
|
|
8462
8538
|
/**
|
|
@@ -8496,6 +8572,9 @@ class DrawLayer extends BaseLayer {
|
|
|
8496
8572
|
case 'vision_off_area':
|
|
8497
8573
|
this.visionOffLayer.addElement(element);
|
|
8498
8574
|
break;
|
|
8575
|
+
case 'mow_gate':
|
|
8576
|
+
this.mowgateLayer.addElement(element);
|
|
8577
|
+
break;
|
|
8499
8578
|
}
|
|
8500
8579
|
}
|
|
8501
8580
|
/**
|
|
@@ -8523,6 +8602,7 @@ class DrawLayer extends BaseLayer {
|
|
|
8523
8602
|
this.pointLayer.clearElements();
|
|
8524
8603
|
this.svgElementLayer.clearElements();
|
|
8525
8604
|
this.visionOffLayer.clearElements();
|
|
8605
|
+
this.mowgateLayer.clearElements();
|
|
8526
8606
|
}
|
|
8527
8607
|
// ==================== SVG渲染系统 ====================
|
|
8528
8608
|
/**
|
|
@@ -8543,6 +8623,7 @@ class DrawLayer extends BaseLayer {
|
|
|
8543
8623
|
this.pointLayer.drawSVG(svgGroup, scale);
|
|
8544
8624
|
this.svgElementLayer.drawSVG(svgGroup, scale);
|
|
8545
8625
|
this.visionOffLayer.drawSVG(svgGroup, scale);
|
|
8626
|
+
this.mowgateLayer.drawSVG(svgGroup, scale);
|
|
8546
8627
|
}
|
|
8547
8628
|
getLayers() {
|
|
8548
8629
|
return [
|
|
@@ -8556,6 +8637,7 @@ class DrawLayer extends BaseLayer {
|
|
|
8556
8637
|
this.pointLayer,
|
|
8557
8638
|
this.svgElementLayer,
|
|
8558
8639
|
this.visionOffLayer,
|
|
8640
|
+
this.mowgateLayer
|
|
8559
8641
|
]?.filter((layer) => layer.getElements().length > 0);
|
|
8560
8642
|
}
|
|
8561
8643
|
getPathLayers() {
|
|
@@ -8857,6 +8939,42 @@ class ChannelDataBuilder {
|
|
|
8857
8939
|
}
|
|
8858
8940
|
}
|
|
8859
8941
|
|
|
8942
|
+
/**
|
|
8943
|
+
* SVG元素数据构建器
|
|
8944
|
+
*/
|
|
8945
|
+
class MowGateDataBuilder {
|
|
8946
|
+
/**
|
|
8947
|
+
* 创建SVG元素数据
|
|
8948
|
+
*/
|
|
8949
|
+
static create(center, metadata, style) {
|
|
8950
|
+
return {
|
|
8951
|
+
type: 'mow_gate',
|
|
8952
|
+
coordinates: [center],
|
|
8953
|
+
style,
|
|
8954
|
+
metadata,
|
|
8955
|
+
};
|
|
8956
|
+
}
|
|
8957
|
+
/**
|
|
8958
|
+
* 从地图元素创建SVG数据(用于时间限制障碍物)
|
|
8959
|
+
*/
|
|
8960
|
+
static fromMapElement(element, style) {
|
|
8961
|
+
if (!element?.position) {
|
|
8962
|
+
return null;
|
|
8963
|
+
}
|
|
8964
|
+
const center = convertPositionFormat(element?.position);
|
|
8965
|
+
if (!center)
|
|
8966
|
+
return null;
|
|
8967
|
+
const drawElement = this.create([center.x, center.y], {
|
|
8968
|
+
area: element.area,
|
|
8969
|
+
direction: element.direction,
|
|
8970
|
+
width: element.width,
|
|
8971
|
+
length: element.length
|
|
8972
|
+
}, style);
|
|
8973
|
+
drawElement.originalData = element; // 保存完整的原始数据
|
|
8974
|
+
return drawElement;
|
|
8975
|
+
}
|
|
8976
|
+
}
|
|
8977
|
+
|
|
8860
8978
|
/**
|
|
8861
8979
|
* 地图数据处理器
|
|
8862
8980
|
* 负责将原始的地图数据转换为可渲染的图层元素
|
|
@@ -8894,6 +9012,11 @@ class MapDataProcessor {
|
|
|
8894
9012
|
if (mapData.vision_off_areas && mapData.vision_off_areas.length > 0) {
|
|
8895
9013
|
allElements.push(...mapData.vision_off_areas);
|
|
8896
9014
|
}
|
|
9015
|
+
// 处理狗洞
|
|
9016
|
+
if (mapData.mow_gates
|
|
9017
|
+
&& mapData.mow_gates.length > 0) {
|
|
9018
|
+
allElements.push(...mapData.mow_gates);
|
|
9019
|
+
}
|
|
8897
9020
|
// 按照元素类型分组并设置不同的层级
|
|
8898
9021
|
return this.createLayeredMapData(allElements);
|
|
8899
9022
|
}
|
|
@@ -8911,6 +9034,7 @@ class MapDataProcessor {
|
|
|
8911
9034
|
BOUNDARY: [],
|
|
8912
9035
|
TUNNEL: [],
|
|
8913
9036
|
TUNNEL_TO_CHARGING_PILE: [],
|
|
9037
|
+
MOW_GATE: []
|
|
8914
9038
|
};
|
|
8915
9039
|
// 分组所有元素
|
|
8916
9040
|
for (const element of elements) {
|
|
@@ -8927,6 +9051,7 @@ class MapDataProcessor {
|
|
|
8927
9051
|
CHARGING_PILE: 150, // 高层级
|
|
8928
9052
|
VISION_OFF_AREA: 150, // 高层级
|
|
8929
9053
|
TIME_LIMIT_OBSTACLE: 150, // 高层级(最高优先级)
|
|
9054
|
+
MOW_GATE: 200
|
|
8930
9055
|
};
|
|
8931
9056
|
// 创建合并的图层
|
|
8932
9057
|
const allDrawElements = [];
|
|
@@ -9104,6 +9229,20 @@ class MapDataProcessor {
|
|
|
9104
9229
|
}
|
|
9105
9230
|
break;
|
|
9106
9231
|
}
|
|
9232
|
+
case 'MOW_GATE': {
|
|
9233
|
+
try {
|
|
9234
|
+
const mapElement = element;
|
|
9235
|
+
const mowGateElement = MowGateDataBuilder.fromMapElement(mapElement, this.mapConfig.doodle);
|
|
9236
|
+
if (mowGateElement)
|
|
9237
|
+
result.push({
|
|
9238
|
+
...mowGateElement,
|
|
9239
|
+
});
|
|
9240
|
+
}
|
|
9241
|
+
catch (error) {
|
|
9242
|
+
console.warn(`Error processing MOW_GATE element:`, element, error);
|
|
9243
|
+
}
|
|
9244
|
+
break;
|
|
9245
|
+
}
|
|
9107
9246
|
default: {
|
|
9108
9247
|
console.warn(`Unknown element type: ${element.type}`, element);
|
|
9109
9248
|
break;
|
|
@@ -11763,6 +11902,7 @@ class MowerMapOverlay {
|
|
|
11763
11902
|
try {
|
|
11764
11903
|
// 使用现有的MapDataProcessor处理地图数据
|
|
11765
11904
|
const elements = MapDataProcessor.processMapData(this.sn, this.mapData, this.mapConfig);
|
|
11905
|
+
console.log('element->', elements);
|
|
11766
11906
|
// 分离充电桩和天线元素,其他元素添加到SVG图层
|
|
11767
11907
|
const svgElements = elements.filter((element) => element.type !== 'charging_pile' && element.type !== 'antenna');
|
|
11768
11908
|
const chargingPileElements = elements.filter((element) => element.type === 'charging_pile');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapDataProcessor.d.ts","sourceRoot":"","sources":["../../src/processor/MapDataProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,OAAO,EAOP,WAAW,EAEX,SAAS,
|
|
1
|
+
{"version":3,"file":"MapDataProcessor.d.ts","sourceRoot":"","sources":["../../src/processor/MapDataProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,OAAO,EAOP,WAAW,EAEX,SAAS,EAEV,MAAM,UAAU,CAAC;AAoBlB;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAY;IACpC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAS;IAC1B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,WAAW,EAAE;IA6CxF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAkDnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA8NjC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,WAAW,EAAE,GAAG,SAAS,EACnC,aAAa,EAAE;QACb,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GACA,WAAW,EAAE;CAOjB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvgElementStyle, SvgElementMetadata, DrawElement } from '../../types/layers';
|
|
2
|
+
import { DoodleStyle, MowGateELement } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* SVG元素数据构建器
|
|
5
|
+
*/
|
|
6
|
+
export declare class MowGateDataBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* 创建SVG元素数据
|
|
9
|
+
*/
|
|
10
|
+
static create(center: number[], metadata: SvgElementMetadata, style: SvgElementStyle): DrawElement;
|
|
11
|
+
/**
|
|
12
|
+
* 从地图元素创建SVG数据(用于时间限制障碍物)
|
|
13
|
+
*/
|
|
14
|
+
static fromMapElement(element: MowGateELement, style: DoodleStyle): DrawElement<DoodleStyle> | null;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=MowGateDataBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MowGateDataBuilder.d.ts","sourceRoot":"","sources":["../../../src/processor/builder/MowGateDataBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAG,MAAM,aAAa,CAAC;AAG3D;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,eAAe,GACrB,WAAW;IASd;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI;CAqBpG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MowerMapOverlay.d.ts","sourceRoot":"","sources":["../../src/render/MowerMapOverlay.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MowerMapOverlay.d.ts","sourceRoot":"","sources":["../../src/render/MowerMapOverlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/DrawLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"DrawLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/DrawLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,SAAS;IACtC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,EAAE,CAAS;gBAEP,EAAE,EAAE,MAAM;IA6BtB;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAyC7C;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAOjD;;OAEG;IACI,aAAa,IAAI,IAAI;IAmB5B;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAmBvD,SAAS,IAAI,SAAS,EAAE;IAgBxB,aAAa,IAAI,SAAS;CAGlC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseLayer } from './BaseLayer';
|
|
2
|
+
/**
|
|
3
|
+
* SVG元素图层
|
|
4
|
+
* 专门处理SVG元素的渲染
|
|
5
|
+
*/
|
|
6
|
+
export declare class MowGateLayer extends BaseLayer {
|
|
7
|
+
level: number;
|
|
8
|
+
scale: number;
|
|
9
|
+
constructor();
|
|
10
|
+
/**
|
|
11
|
+
* SVG渲染方法
|
|
12
|
+
*/
|
|
13
|
+
drawSVG(svgGroup: SVGGElement): void;
|
|
14
|
+
/**
|
|
15
|
+
* 渲染SVG元素
|
|
16
|
+
*/
|
|
17
|
+
private renderMowGateElement;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=MowGateLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MowGateLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/MowGateLayer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,KAAK,EAAE,MAAM,CAAK;IAClB,KAAK,EAAE,MAAM,CAAK;;IAOlB;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAW3C;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAyD7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObstacleLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/ObstacleLayer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,KAAK,EAAE,MAAM,CAAK;;IAOlB;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAa3C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;OAEG;IACH,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"ObstacleLayer.d.ts","sourceRoot":"","sources":["../../../src/render/layers/ObstacleLayer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,KAAK,EAAE,MAAM,CAAK;;IAOlB;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAa3C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA4CtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAuCtC;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAoDtC"}
|
package/dist/types/common.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface LatLng {
|
|
|
9
9
|
lat: number;
|
|
10
10
|
lng: number;
|
|
11
11
|
}
|
|
12
|
-
export type ElementType = 'BOUNDARY' | 'OBSTACLE' | 'VISION_OFF_AREA' | 'CHARGING_PILE' | 'TUNNEL' | 'TUNNEL_TO_CHARGING_PILE' | 'TIME_LIMIT_OBSTACLE';
|
|
12
|
+
export type ElementType = 'BOUNDARY' | 'OBSTACLE' | 'VISION_OFF_AREA' | 'CHARGING_PILE' | 'TUNNEL' | 'TUNNEL_TO_CHARGING_PILE' | 'TIME_LIMIT_OBSTACLE' | 'MOW_GATE';
|
|
13
13
|
export interface ColorMap {
|
|
14
14
|
BOUNDARY: string;
|
|
15
15
|
OBSTACLE: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,UAAU,GACV,iBAAiB,GACjB,eAAe,GACf,QAAQ,GACR,yBAAyB,GACzB,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,UAAU,GACV,iBAAiB,GACjB,eAAe,GACf,QAAQ,GACR,yBAAyB,GACzB,qBAAqB,GACrB,UAAU,CAAC;AAGf,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,EAAE,MAAM,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B"}
|
package/dist/types/elements.d.ts
CHANGED
|
@@ -6,6 +6,17 @@ export interface BaseMapElement {
|
|
|
6
6
|
name: string;
|
|
7
7
|
type: string;
|
|
8
8
|
}
|
|
9
|
+
export interface MowGateELement extends BaseMapElement {
|
|
10
|
+
id: number;
|
|
11
|
+
name: string;
|
|
12
|
+
area: number;
|
|
13
|
+
type: "MOW_GATE";
|
|
14
|
+
position: [number, number];
|
|
15
|
+
direction: number;
|
|
16
|
+
width: number;
|
|
17
|
+
length: number;
|
|
18
|
+
overlap_tunnel_id: number;
|
|
19
|
+
}
|
|
9
20
|
export interface BoundaryElement extends BaseMapElement {
|
|
10
21
|
area: number;
|
|
11
22
|
avai_segs: number;
|
|
@@ -40,7 +51,7 @@ export interface TunnelElement extends BaseMapElement {
|
|
|
40
51
|
points: number[][];
|
|
41
52
|
type: 'TUNNEL';
|
|
42
53
|
}
|
|
43
|
-
export type MapElement = BoundaryElement | ChargingPileElement | TunnelElement;
|
|
54
|
+
export type MapElement = BoundaryElement | ChargingPileElement | TunnelElement | MowGateELement;
|
|
44
55
|
export interface ObstacleData extends BaseMapElement {
|
|
45
56
|
area: number;
|
|
46
57
|
points: number[][];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/types/elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;CAClB;AAGD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAGD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAGD,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,mBAAmB,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/types/elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAGD,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;CAClB;AAGD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAGD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAGD,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,mBAAmB,GAAG,aAAa,GAAG,cAAc,CAAC;AAGhG,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;CAClB;AAGD,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAGD,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAGD,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;CAChB"}
|
package/dist/types/layers.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { PathSegmentType } from './utils';
|
|
|
6
6
|
* 绘制元素接口
|
|
7
7
|
*/
|
|
8
8
|
export interface DrawElement<T = any> {
|
|
9
|
-
type: 'path' | 'boundary' | 'boundary_border' | 'obstacle' | 'charging_pile' | 'point' | 'svg' | 'channel' | 'vision_off_area' | 'antenna';
|
|
9
|
+
type: 'path' | 'boundary' | 'boundary_border' | 'obstacle' | 'charging_pile' | 'point' | 'svg' | 'channel' | 'vision_off_area' | 'mow_gate' | 'antenna';
|
|
10
10
|
coordinates: number[][];
|
|
11
11
|
style: T;
|
|
12
12
|
metadata?: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../src/types/layers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EACA,MAAM,GACN,UAAU,GACV,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,OAAO,GACP,KAAK,GACL,SAAS,GACT,iBAAiB,GACjB,SAAS,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,IAAI,MAAM,CAAC;IACnB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,SAAS,IAAI,OAAO,CAAC;IACrB,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../src/types/layers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EACA,MAAM,GACN,UAAU,GACV,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,OAAO,GACP,KAAK,GACL,SAAS,GACT,iBAAiB,GACjB,UAAU,GACV,SAAS,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,IAAI,MAAM,CAAC;IACnB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,SAAS,IAAI,OAAO,CAAC;IACrB,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
package/dist/types/map.d.ts
CHANGED
|
@@ -12,6 +12,17 @@ export interface SubMap {
|
|
|
12
12
|
contain_obstacles_id: number[];
|
|
13
13
|
elements: MapElement[];
|
|
14
14
|
}
|
|
15
|
+
export interface MowGateData {
|
|
16
|
+
"id": number;
|
|
17
|
+
"name": string;
|
|
18
|
+
"area": number;
|
|
19
|
+
"type": "MOW_GATE";
|
|
20
|
+
"position": number[];
|
|
21
|
+
"direction": number;
|
|
22
|
+
"width": number;
|
|
23
|
+
"length": number;
|
|
24
|
+
"overlap_tunnel_id": number;
|
|
25
|
+
}
|
|
15
26
|
export interface MapData {
|
|
16
27
|
id: number;
|
|
17
28
|
name: string;
|
|
@@ -37,5 +48,6 @@ export interface MapData {
|
|
|
37
48
|
vision_off_areas?: VisionOffAreaData[];
|
|
38
49
|
time_limit_obstacles?: TimeLimitObstacleData[];
|
|
39
50
|
tunnels?: TunnelData[];
|
|
51
|
+
mow_gates?: MowGateData[];
|
|
40
52
|
}
|
|
41
53
|
//# sourceMappingURL=map.d.ts.map
|
package/dist/types/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/types/map.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAGD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC/C,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/types/map.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAGD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC/C,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;CAC3B"}
|