@fleet-frontend/mower-maps 0.0.9-beta.1 → 0.0.9-beta.2

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/index.esm.js CHANGED
@@ -81,7 +81,6 @@ class SvgMapView {
81
81
  this.layers.sort((a, b) => a.getLevel() - b.getLevel());
82
82
  }
83
83
  getLayer(type) {
84
- console.log('getLayer----->', this.layers, type);
85
84
  return this.layers.find((layer) => layer.getType() === type) || null;
86
85
  }
87
86
  /**
@@ -2083,7 +2082,6 @@ const handleMultipleRealTimeData = ({ realTimeData, isMowing, pathData, partitio
2083
2082
  // 割草轨迹
2084
2083
  const { postureX, postureY, vehicleState } = item;
2085
2084
  const currentPartitionId = getPartitionId(partitionBoundary, Number(postureX), Number(postureY));
2086
- console.log('currentPartitionId===', currentPartitionId);
2087
2085
  if (currentPartitionId && newPathData?.[currentPartitionId]) {
2088
2086
  const currentPathData = newPathData[currentPartitionId];
2089
2087
  newPathData[currentPartitionId] = {
@@ -6006,7 +6004,6 @@ class PathDataProcessor {
6006
6004
  elements,
6007
6005
  };
6008
6006
  });
6009
- console.log('result->', result);
6010
6007
  return result;
6011
6008
  }
6012
6009
  }
@@ -6237,7 +6234,6 @@ class BoundaryLabelsManager {
6237
6234
  * @param viewBox SVG的viewBox信息
6238
6235
  */
6239
6236
  updatePositionsWithPrecomputedData(divWidth, divHeight, viewBox) {
6240
- console.log('updatePositionsWithPrecomputedData----->', this.rotation);
6241
6237
  if (!this.container || !this.svgView)
6242
6238
  return;
6243
6239
  const dw = parseFloat(this.svgView.getSVG().getAttribute('width')) || divWidth;
@@ -7351,7 +7347,6 @@ class MowerPositionManager {
7351
7347
  if (!chargingPilesPositionConfig)
7352
7348
  return;
7353
7349
  this.mowerPositionConfig = chargingPilesPositionConfig;
7354
- console.log('manager updatePositionByLastPosition----->', chargingPilesPositionConfig, this.lastPosition);
7355
7350
  const lastPosition = this.lastPosition;
7356
7351
  const postureX = chargingPilesPositionConfig.postureX || chargingPilesPositionConfig.lastPostureX || lastPosition?.x;
7357
7352
  const postureY = chargingPilesPositionConfig.postureY || chargingPilesPositionConfig.lastPostureY || lastPosition?.y;
@@ -7365,9 +7360,10 @@ class MowerPositionManager {
7365
7360
  * 更新割草机位置
7366
7361
  */
7367
7362
  updatePosition(positionConfig, animationTime = 0) {
7368
- console.log('manager updatePosition----->', positionConfig);
7369
7363
  // 检查是否需要更新图片
7370
7364
  this.updateMowerImage(positionConfig);
7365
+ // 更新配置
7366
+ this.mowerPositionConfig = positionConfig;
7371
7367
  const postureX = positionConfig.postureX || this.lastPosition?.x;
7372
7368
  const postureY = positionConfig.postureY || this.lastPosition?.y;
7373
7369
  const postureTheta = positionConfig.postureTheta || this.lastPosition?.rotation;
@@ -7391,8 +7387,6 @@ class MowerPositionManager {
7391
7387
  // 立即更新位置
7392
7388
  this.setElementPosition(positionConfig.postureX, positionConfig.postureY, positionConfig.postureTheta);
7393
7389
  }
7394
- // 更新配置
7395
- this.mowerPositionConfig = positionConfig;
7396
7390
  }
7397
7391
  /**
7398
7392
  * 更新割草机图片
@@ -7506,11 +7500,9 @@ class MowerPositionManager {
7506
7500
  this.onMowingPositionChange({
7507
7501
  x: currentX,
7508
7502
  y: currentY,
7509
- vehicleState: this.mowerPositionConfig.vehicleState,
7503
+ vehicleState: this.mowerPositionConfig?.vehicleState,
7510
7504
  });
7511
7505
  }
7512
- // console.log('animateStep----->', this.onlyUpdateTheta, currentX, currentY, currentRotation);
7513
- //
7514
7506
  // 继续动画或结束
7515
7507
  if (progress < 1) {
7516
7508
  // 设置当前位置
@@ -7722,7 +7714,6 @@ class MowerMapOverlay {
7722
7714
  this.boundaryData = generateBoundaryData(mapData, pathData);
7723
7715
  }
7724
7716
  updatePosition(positionConfig, animationTime = 2200) {
7725
- console.log('updatePosition==', positionConfig, animationTime);
7726
7717
  // 保存当前动画时长
7727
7718
  this.currentAnimationTime = animationTime;
7728
7719
  // 标记是否为用户动画(大于0表示用户主动触发的动画)
@@ -7735,7 +7726,6 @@ class MowerMapOverlay {
7735
7726
  }
7736
7727
  }
7737
7728
  updatePositionByLastPosition(chargingPilesPositionConfig) {
7738
- console.log('overlay updatePositionByLastPosition----->', this.mowerPositionManager, chargingPilesPositionConfig);
7739
7729
  // 更新配置
7740
7730
  if (this.mowerPositionManager) {
7741
7731
  this.mowerPositionManager.updatePositionByLastPosition(chargingPilesPositionConfig);
@@ -7770,10 +7760,8 @@ class MowerMapOverlay {
7770
7760
  this.mowPartitionData = mowPartitionData;
7771
7761
  const boundaryBorderLayer = this.svgMapView?.getLayer(LAYER_DEFAULT_TYPE.BOUNDARY_BORDER);
7772
7762
  const partitionIds = mowPartitionData?.partitionIds || [];
7773
- console.log('setBorderLayerHighlight----->', partitionIds);
7774
7763
  for (const partitionId of partitionIds) {
7775
7764
  const boundaryBorderPaths = boundaryBorderLayer?.boudaryBorderPaths?.[partitionId];
7776
- console.log('boundaryBorderPaths----->', boundaryBorderLayer, boundaryBorderPaths);
7777
7765
  if (boundaryBorderPaths) {
7778
7766
  boundaryBorderPaths.forEach((path) => {
7779
7767
  path.setAttribute('stroke', BOUNDARY_STYLES.mowingLineColor);
@@ -7803,6 +7791,7 @@ class MowerMapOverlay {
7803
7791
  this.createBoundaryLabelsManager();
7804
7792
  // 创建割草机位置管理器
7805
7793
  this.createMowerPositionManager();
7794
+ this.setManagerRotation(this.defaultTransform.rotation);
7806
7795
  // 如果处于编辑模式,创建编辑界面
7807
7796
  if (this.isEditMode) {
7808
7797
  this.createEditInterface();
@@ -8505,7 +8494,6 @@ class MowerMapOverlay {
8505
8494
  this.loadMapData();
8506
8495
  // 加载路径数据
8507
8496
  if (this.pathData && this.svgMapView) {
8508
- console.log('initializeSvgMapView->', this.pathData, this.mowPartitionData);
8509
8497
  this.loadPathData(this.pathData, this.mowPartitionData);
8510
8498
  }
8511
8499
  // 刷新绘制图层
@@ -8578,7 +8566,6 @@ class MowerMapOverlay {
8578
8566
  try {
8579
8567
  // 使用现有的PathDataProcessor处理路径数据
8580
8568
  const pathElements = PathDataProcessor.processPathData(pathData, this.mapConfig);
8581
- console.log('pathdaata->', pathElements, mowPartitionData);
8582
8569
  const newPathElements = pathElements.map((pathElement) => {
8583
8570
  const { id, elements } = pathElement;
8584
8571
  const isMowBoundary = mowPartitionData && mowPartitionData?.partitionIds?.includes(id);
@@ -8626,7 +8613,6 @@ class MowerMapOverlay {
8626
8613
  // 找到当前position所在的分区id,将该点更新到pathData中
8627
8614
  const currentPartitionId = getPartitionId(this.partitionBoundary, position.x, position.y);
8628
8615
  const processStateIsMowing = useProcessMowingState.getState().processStateIsMowing;
8629
- // console.log('processStateIsMowing==', processStateIsMowing);
8630
8616
  if (currentPartitionId && this.pathData?.[currentPartitionId]) {
8631
8617
  const currentPathData = this.pathData[currentPartitionId];
8632
8618
  this.pathData[currentPartitionId] = {
@@ -8837,30 +8823,71 @@ const isValidGpsCoordinate = (coordinate) => {
8837
8823
  !(Math.abs(lng) < 0.001 && Math.abs(lat) < 0.001) // 排除接近(0,0)的坐标
8838
8824
  );
8839
8825
  };
8826
+ // 旋转坐标点
8827
+ const rotateCoordinate = (point, center, angleRadians) => {
8828
+ const [x, y] = point;
8829
+ const [cx, cy] = center;
8830
+ // 将点移动到原点
8831
+ const dx = x - cx;
8832
+ const dy = y - cy;
8833
+ // 应用旋转矩阵
8834
+ const cos = Math.cos(angleRadians);
8835
+ const sin = Math.sin(angleRadians);
8836
+ const rotatedX = dx * cos - dy * sin;
8837
+ const rotatedY = dx * sin + dy * cos;
8838
+ // 移回原位置
8839
+ return [rotatedX + cx, rotatedY + cy];
8840
+ };
8840
8841
  // 获取有效的GPS边界
8841
- const getValidGpsBounds = (mapData) => {
8842
+ const getValidGpsBounds = (mapData, rotation = 0) => {
8843
+ let bounds;
8842
8844
  // 首先尝试使用地图数据中的GPS坐标
8843
8845
  if (isValidGpsCoordinate(mapData.sw_gps) && isValidGpsCoordinate(mapData.ne_gps)) {
8844
- return {
8846
+ bounds = {
8845
8847
  sw: mapData.sw_gps,
8846
8848
  ne: mapData.ne_gps,
8847
8849
  };
8848
8850
  }
8849
- // 如果GPS坐标无效,尝试从地图几何数据估算
8850
- const { sw, ne } = estimateGpsFromMapBounds(mapData);
8851
- if (sw && ne) {
8852
- console.warn('GPS坐标无效,使用地图几何数据估算边界:', sw, ne);
8853
- return {
8854
- sw: [sw[0], sw[1]],
8855
- ne: [ne[0], ne[1]],
8851
+ else {
8852
+ // 如果GPS坐标无效,尝试从地图几何数据估算
8853
+ const { sw, ne } = estimateGpsFromMapBounds(mapData);
8854
+ if (sw && ne) {
8855
+ console.warn('GPS坐标无效,使用地图几何数据估算边界:', sw, ne);
8856
+ bounds = {
8857
+ sw: [sw[0], sw[1]],
8858
+ ne: [ne[0], ne[1]],
8859
+ };
8860
+ }
8861
+ else {
8862
+ // 最后的fallback:使用默认坐标
8863
+ console.warn('无法获取有效的GPS边界,使用默认坐标');
8864
+ bounds = {
8865
+ sw: [-9.1562, -37.7503],
8866
+ ne: [31.247, 5.797],
8867
+ };
8868
+ }
8869
+ }
8870
+ // 如果有旋转角度,计算旋转后的边界
8871
+ if (rotation !== 0) {
8872
+ const angleRadians = (rotation * Math.PI) / 180; // 转换为弧度
8873
+ // 计算边界中心点
8874
+ const centerLng = (bounds.sw[0] + bounds.ne[0]) / 2;
8875
+ const centerLat = (bounds.sw[1] + bounds.ne[1]) / 2;
8876
+ const center = [centerLng, centerLat];
8877
+ // 旋转四个角点
8878
+ const sw = rotateCoordinate(bounds.sw, center, angleRadians);
8879
+ const ne = rotateCoordinate(bounds.ne, center, angleRadians);
8880
+ const se = rotateCoordinate([bounds.ne[0], bounds.sw[1]], center, angleRadians);
8881
+ const nw = rotateCoordinate([bounds.sw[0], bounds.ne[1]], center, angleRadians);
8882
+ // 计算旋转后的边界框(包含所有旋转后的点)
8883
+ const lngs = [sw[0], ne[0], se[0], nw[0]];
8884
+ const lats = [sw[1], ne[1], se[1], nw[1]];
8885
+ bounds = {
8886
+ sw: [Math.min(...lngs), Math.min(...lats)],
8887
+ ne: [Math.max(...lngs), Math.max(...lats)],
8856
8888
  };
8857
8889
  }
8858
- // 最后的fallback:使用默认坐标
8859
- console.warn('无法获取有效的GPS边界,使用默认坐标');
8860
- return {
8861
- sw: [-9.1562, -37.7503],
8862
- ne: [31.247, 5.797],
8863
- };
8890
+ return bounds;
8864
8891
  };
8865
8892
  // 默认配置
8866
8893
  const defaultMapConfig = DEFAULT_STYLES;
@@ -8942,12 +8969,12 @@ const MowerMapRenderer = forwardRef(({ mapConfig, modelType, mapRef, mapJson, pa
8942
8969
  return;
8943
8970
  }
8944
8971
  // 将自定义边界转换为Google Maps LatLngBounds(使用有效的GPS坐标)
8945
- const validBounds = getValidGpsBounds(mapJson);
8972
+ const validBounds = getValidGpsBounds(mapJson, defaultTransform?.rotation);
8946
8973
  // 地图数据中的坐标格式是 [longitude, latitude]
8947
- const swLat = validBounds.sw[1];
8948
- const swLng = validBounds.sw[0];
8949
- const neLat = validBounds.ne[1];
8950
- const neLng = validBounds.ne[0];
8974
+ const swLat = validBounds.sw[1] + defaultTransform.y;
8975
+ const swLng = validBounds.sw[0] + defaultTransform.x;
8976
+ const neLat = validBounds.ne[1] + defaultTransform.y;
8977
+ const neLng = validBounds.ne[0] + defaultTransform.x;
8951
8978
  const googleBounds = new window.google.maps.LatLngBounds(new window.google.maps.LatLng(swLat, swLng), // 西南角
8952
8979
  new window.google.maps.LatLng(neLat, neLng) // 东北角
8953
8980
  );
@@ -8977,7 +9004,8 @@ const MowerMapRenderer = forwardRef(({ mapConfig, modelType, mapRef, mapJson, pa
8977
9004
  return;
8978
9005
  }
8979
9006
  // 将自定义边界转换为Google Maps LatLngBounds(使用有效的GPS坐标)
8980
- const validBounds = getValidGpsBounds(mapJson);
9007
+ // 这里需要使用0度,需要原始的坐标点去计算元素的实际位置,只有在fitbounds的时候才需要使用旋转后的坐标点
9008
+ const validBounds = getValidGpsBounds(mapJson, 0);
8981
9009
  // 地图数据中的坐标格式是 [longitude, latitude]
8982
9010
  const swLat = validBounds.sw[1];
8983
9011
  const swLng = validBounds.sw[0];
@@ -9049,10 +9077,8 @@ const MowerMapRenderer = forwardRef(({ mapConfig, modelType, mapRef, mapJson, pa
9049
9077
  const inChargingPiles = [RobotStatus.CHARGING, RobotStatus.PARKED];
9050
9078
  const isOffLine = mowerPositionData.vehicleState === RobotStatus.DISCONNECTED;
9051
9079
  const isInChargingPile = inChargingPiles.includes(mowerPositionData.vehicleState);
9052
- console.log('isInChargingPile-----------》', isInChargingPile, mowerPositionData);
9053
9080
  // 如果在充电桩上,则直接更新位置到充电桩的位置
9054
9081
  if (isInChargingPile) {
9055
- console.log('isInChargingPile', isInChargingPile, mowerPositionData);
9056
9082
  overlayRef.current.updatePosition({
9057
9083
  ...mowerPositionData,
9058
9084
  postureX: chargingPiles?.originalData.position[0],
@@ -9065,7 +9091,6 @@ const MowerMapRenderer = forwardRef(({ mapConfig, modelType, mapRef, mapJson, pa
9065
9091
  const positonOutOfRange = isOutOfRange(mowerPositionData);
9066
9092
  const positionValid = isInvalidPosition(mowerPositionData);
9067
9093
  const isStandby = mowerPositionData.vehicleState === RobotStatus.STANDBY;
9068
- console.log('positonOutOfRange', positonOutOfRange, positionValid, isOffLine);
9069
9094
  if (positonOutOfRange || positionValid || isOffLine) {
9070
9095
  // 初始信息是通过后端接口获取的,此时当前位置数据不可用的时候,可以取上一次的位置数据
9071
9096
  // mowerPositionData 中可能会包含上一次的位置数据,
@@ -9145,14 +9170,14 @@ const MowerMapRenderer = forwardRef(({ mapConfig, modelType, mapRef, mapJson, pa
9145
9170
  }
9146
9171
  }, [realTimeData, mapJson, pathJson]);
9147
9172
  useEffect(() => {
9148
- console.log('defaultTransform----->', defaultTransform);
9173
+ console.log('defaultTransform----->', defaultTransform, overlayRef.current);
9149
9174
  if (!overlayRef.current || !defaultTransform)
9150
9175
  return;
9151
9176
  if (defaultTransform.x === 0 && defaultTransform.y === 0 && defaultTransform.rotation === 0) {
9152
9177
  return;
9153
9178
  }
9154
9179
  overlayRef.current?.setTransform(defaultTransform);
9155
- const validBounds = getValidGpsBounds(mapJson);
9180
+ const validBounds = getValidGpsBounds(mapJson, defaultTransform?.rotation);
9156
9181
  // 地图数据中的坐标格式是 [longitude, latitude]
9157
9182
  const swLat = validBounds.sw[1] + defaultTransform.y;
9158
9183
  const swLng = validBounds.sw[0] + defaultTransform.x;
package/dist/index.js CHANGED
@@ -83,7 +83,6 @@ class SvgMapView {
83
83
  this.layers.sort((a, b) => a.getLevel() - b.getLevel());
84
84
  }
85
85
  getLayer(type) {
86
- console.log('getLayer----->', this.layers, type);
87
86
  return this.layers.find((layer) => layer.getType() === type) || null;
88
87
  }
89
88
  /**
@@ -2085,7 +2084,6 @@ const handleMultipleRealTimeData = ({ realTimeData, isMowing, pathData, partitio
2085
2084
  // 割草轨迹
2086
2085
  const { postureX, postureY, vehicleState } = item;
2087
2086
  const currentPartitionId = getPartitionId(partitionBoundary, Number(postureX), Number(postureY));
2088
- console.log('currentPartitionId===', currentPartitionId);
2089
2087
  if (currentPartitionId && newPathData?.[currentPartitionId]) {
2090
2088
  const currentPathData = newPathData[currentPartitionId];
2091
2089
  newPathData[currentPartitionId] = {
@@ -6008,7 +6006,6 @@ class PathDataProcessor {
6008
6006
  elements,
6009
6007
  };
6010
6008
  });
6011
- console.log('result->', result);
6012
6009
  return result;
6013
6010
  }
6014
6011
  }
@@ -6239,7 +6236,6 @@ class BoundaryLabelsManager {
6239
6236
  * @param viewBox SVG的viewBox信息
6240
6237
  */
6241
6238
  updatePositionsWithPrecomputedData(divWidth, divHeight, viewBox) {
6242
- console.log('updatePositionsWithPrecomputedData----->', this.rotation);
6243
6239
  if (!this.container || !this.svgView)
6244
6240
  return;
6245
6241
  const dw = parseFloat(this.svgView.getSVG().getAttribute('width')) || divWidth;
@@ -7353,7 +7349,6 @@ class MowerPositionManager {
7353
7349
  if (!chargingPilesPositionConfig)
7354
7350
  return;
7355
7351
  this.mowerPositionConfig = chargingPilesPositionConfig;
7356
- console.log('manager updatePositionByLastPosition----->', chargingPilesPositionConfig, this.lastPosition);
7357
7352
  const lastPosition = this.lastPosition;
7358
7353
  const postureX = chargingPilesPositionConfig.postureX || chargingPilesPositionConfig.lastPostureX || lastPosition?.x;
7359
7354
  const postureY = chargingPilesPositionConfig.postureY || chargingPilesPositionConfig.lastPostureY || lastPosition?.y;
@@ -7367,9 +7362,10 @@ class MowerPositionManager {
7367
7362
  * 更新割草机位置
7368
7363
  */
7369
7364
  updatePosition(positionConfig, animationTime = 0) {
7370
- console.log('manager updatePosition----->', positionConfig);
7371
7365
  // 检查是否需要更新图片
7372
7366
  this.updateMowerImage(positionConfig);
7367
+ // 更新配置
7368
+ this.mowerPositionConfig = positionConfig;
7373
7369
  const postureX = positionConfig.postureX || this.lastPosition?.x;
7374
7370
  const postureY = positionConfig.postureY || this.lastPosition?.y;
7375
7371
  const postureTheta = positionConfig.postureTheta || this.lastPosition?.rotation;
@@ -7393,8 +7389,6 @@ class MowerPositionManager {
7393
7389
  // 立即更新位置
7394
7390
  this.setElementPosition(positionConfig.postureX, positionConfig.postureY, positionConfig.postureTheta);
7395
7391
  }
7396
- // 更新配置
7397
- this.mowerPositionConfig = positionConfig;
7398
7392
  }
7399
7393
  /**
7400
7394
  * 更新割草机图片
@@ -7508,11 +7502,9 @@ class MowerPositionManager {
7508
7502
  this.onMowingPositionChange({
7509
7503
  x: currentX,
7510
7504
  y: currentY,
7511
- vehicleState: this.mowerPositionConfig.vehicleState,
7505
+ vehicleState: this.mowerPositionConfig?.vehicleState,
7512
7506
  });
7513
7507
  }
7514
- // console.log('animateStep----->', this.onlyUpdateTheta, currentX, currentY, currentRotation);
7515
- //
7516
7508
  // 继续动画或结束
7517
7509
  if (progress < 1) {
7518
7510
  // 设置当前位置
@@ -7724,7 +7716,6 @@ class MowerMapOverlay {
7724
7716
  this.boundaryData = generateBoundaryData(mapData, pathData);
7725
7717
  }
7726
7718
  updatePosition(positionConfig, animationTime = 2200) {
7727
- console.log('updatePosition==', positionConfig, animationTime);
7728
7719
  // 保存当前动画时长
7729
7720
  this.currentAnimationTime = animationTime;
7730
7721
  // 标记是否为用户动画(大于0表示用户主动触发的动画)
@@ -7737,7 +7728,6 @@ class MowerMapOverlay {
7737
7728
  }
7738
7729
  }
7739
7730
  updatePositionByLastPosition(chargingPilesPositionConfig) {
7740
- console.log('overlay updatePositionByLastPosition----->', this.mowerPositionManager, chargingPilesPositionConfig);
7741
7731
  // 更新配置
7742
7732
  if (this.mowerPositionManager) {
7743
7733
  this.mowerPositionManager.updatePositionByLastPosition(chargingPilesPositionConfig);
@@ -7772,10 +7762,8 @@ class MowerMapOverlay {
7772
7762
  this.mowPartitionData = mowPartitionData;
7773
7763
  const boundaryBorderLayer = this.svgMapView?.getLayer(LAYER_DEFAULT_TYPE.BOUNDARY_BORDER);
7774
7764
  const partitionIds = mowPartitionData?.partitionIds || [];
7775
- console.log('setBorderLayerHighlight----->', partitionIds);
7776
7765
  for (const partitionId of partitionIds) {
7777
7766
  const boundaryBorderPaths = boundaryBorderLayer?.boudaryBorderPaths?.[partitionId];
7778
- console.log('boundaryBorderPaths----->', boundaryBorderLayer, boundaryBorderPaths);
7779
7767
  if (boundaryBorderPaths) {
7780
7768
  boundaryBorderPaths.forEach((path) => {
7781
7769
  path.setAttribute('stroke', BOUNDARY_STYLES.mowingLineColor);
@@ -7805,6 +7793,7 @@ class MowerMapOverlay {
7805
7793
  this.createBoundaryLabelsManager();
7806
7794
  // 创建割草机位置管理器
7807
7795
  this.createMowerPositionManager();
7796
+ this.setManagerRotation(this.defaultTransform.rotation);
7808
7797
  // 如果处于编辑模式,创建编辑界面
7809
7798
  if (this.isEditMode) {
7810
7799
  this.createEditInterface();
@@ -8507,7 +8496,6 @@ class MowerMapOverlay {
8507
8496
  this.loadMapData();
8508
8497
  // 加载路径数据
8509
8498
  if (this.pathData && this.svgMapView) {
8510
- console.log('initializeSvgMapView->', this.pathData, this.mowPartitionData);
8511
8499
  this.loadPathData(this.pathData, this.mowPartitionData);
8512
8500
  }
8513
8501
  // 刷新绘制图层
@@ -8580,7 +8568,6 @@ class MowerMapOverlay {
8580
8568
  try {
8581
8569
  // 使用现有的PathDataProcessor处理路径数据
8582
8570
  const pathElements = PathDataProcessor.processPathData(pathData, this.mapConfig);
8583
- console.log('pathdaata->', pathElements, mowPartitionData);
8584
8571
  const newPathElements = pathElements.map((pathElement) => {
8585
8572
  const { id, elements } = pathElement;
8586
8573
  const isMowBoundary = mowPartitionData && mowPartitionData?.partitionIds?.includes(id);
@@ -8628,7 +8615,6 @@ class MowerMapOverlay {
8628
8615
  // 找到当前position所在的分区id,将该点更新到pathData中
8629
8616
  const currentPartitionId = getPartitionId(this.partitionBoundary, position.x, position.y);
8630
8617
  const processStateIsMowing = useProcessMowingState.getState().processStateIsMowing;
8631
- // console.log('processStateIsMowing==', processStateIsMowing);
8632
8618
  if (currentPartitionId && this.pathData?.[currentPartitionId]) {
8633
8619
  const currentPathData = this.pathData[currentPartitionId];
8634
8620
  this.pathData[currentPartitionId] = {
@@ -8839,30 +8825,71 @@ const isValidGpsCoordinate = (coordinate) => {
8839
8825
  !(Math.abs(lng) < 0.001 && Math.abs(lat) < 0.001) // 排除接近(0,0)的坐标
8840
8826
  );
8841
8827
  };
8828
+ // 旋转坐标点
8829
+ const rotateCoordinate = (point, center, angleRadians) => {
8830
+ const [x, y] = point;
8831
+ const [cx, cy] = center;
8832
+ // 将点移动到原点
8833
+ const dx = x - cx;
8834
+ const dy = y - cy;
8835
+ // 应用旋转矩阵
8836
+ const cos = Math.cos(angleRadians);
8837
+ const sin = Math.sin(angleRadians);
8838
+ const rotatedX = dx * cos - dy * sin;
8839
+ const rotatedY = dx * sin + dy * cos;
8840
+ // 移回原位置
8841
+ return [rotatedX + cx, rotatedY + cy];
8842
+ };
8842
8843
  // 获取有效的GPS边界
8843
- const getValidGpsBounds = (mapData) => {
8844
+ const getValidGpsBounds = (mapData, rotation = 0) => {
8845
+ let bounds;
8844
8846
  // 首先尝试使用地图数据中的GPS坐标
8845
8847
  if (isValidGpsCoordinate(mapData.sw_gps) && isValidGpsCoordinate(mapData.ne_gps)) {
8846
- return {
8848
+ bounds = {
8847
8849
  sw: mapData.sw_gps,
8848
8850
  ne: mapData.ne_gps,
8849
8851
  };
8850
8852
  }
8851
- // 如果GPS坐标无效,尝试从地图几何数据估算
8852
- const { sw, ne } = estimateGpsFromMapBounds(mapData);
8853
- if (sw && ne) {
8854
- console.warn('GPS坐标无效,使用地图几何数据估算边界:', sw, ne);
8855
- return {
8856
- sw: [sw[0], sw[1]],
8857
- ne: [ne[0], ne[1]],
8853
+ else {
8854
+ // 如果GPS坐标无效,尝试从地图几何数据估算
8855
+ const { sw, ne } = estimateGpsFromMapBounds(mapData);
8856
+ if (sw && ne) {
8857
+ console.warn('GPS坐标无效,使用地图几何数据估算边界:', sw, ne);
8858
+ bounds = {
8859
+ sw: [sw[0], sw[1]],
8860
+ ne: [ne[0], ne[1]],
8861
+ };
8862
+ }
8863
+ else {
8864
+ // 最后的fallback:使用默认坐标
8865
+ console.warn('无法获取有效的GPS边界,使用默认坐标');
8866
+ bounds = {
8867
+ sw: [-9.1562, -37.7503],
8868
+ ne: [31.247, 5.797],
8869
+ };
8870
+ }
8871
+ }
8872
+ // 如果有旋转角度,计算旋转后的边界
8873
+ if (rotation !== 0) {
8874
+ const angleRadians = (rotation * Math.PI) / 180; // 转换为弧度
8875
+ // 计算边界中心点
8876
+ const centerLng = (bounds.sw[0] + bounds.ne[0]) / 2;
8877
+ const centerLat = (bounds.sw[1] + bounds.ne[1]) / 2;
8878
+ const center = [centerLng, centerLat];
8879
+ // 旋转四个角点
8880
+ const sw = rotateCoordinate(bounds.sw, center, angleRadians);
8881
+ const ne = rotateCoordinate(bounds.ne, center, angleRadians);
8882
+ const se = rotateCoordinate([bounds.ne[0], bounds.sw[1]], center, angleRadians);
8883
+ const nw = rotateCoordinate([bounds.sw[0], bounds.ne[1]], center, angleRadians);
8884
+ // 计算旋转后的边界框(包含所有旋转后的点)
8885
+ const lngs = [sw[0], ne[0], se[0], nw[0]];
8886
+ const lats = [sw[1], ne[1], se[1], nw[1]];
8887
+ bounds = {
8888
+ sw: [Math.min(...lngs), Math.min(...lats)],
8889
+ ne: [Math.max(...lngs), Math.max(...lats)],
8858
8890
  };
8859
8891
  }
8860
- // 最后的fallback:使用默认坐标
8861
- console.warn('无法获取有效的GPS边界,使用默认坐标');
8862
- return {
8863
- sw: [-9.1562, -37.7503],
8864
- ne: [31.247, 5.797],
8865
- };
8892
+ return bounds;
8866
8893
  };
8867
8894
  // 默认配置
8868
8895
  const defaultMapConfig = DEFAULT_STYLES;
@@ -8944,12 +8971,12 @@ const MowerMapRenderer = React.forwardRef(({ mapConfig, modelType, mapRef, mapJs
8944
8971
  return;
8945
8972
  }
8946
8973
  // 将自定义边界转换为Google Maps LatLngBounds(使用有效的GPS坐标)
8947
- const validBounds = getValidGpsBounds(mapJson);
8974
+ const validBounds = getValidGpsBounds(mapJson, defaultTransform?.rotation);
8948
8975
  // 地图数据中的坐标格式是 [longitude, latitude]
8949
- const swLat = validBounds.sw[1];
8950
- const swLng = validBounds.sw[0];
8951
- const neLat = validBounds.ne[1];
8952
- const neLng = validBounds.ne[0];
8976
+ const swLat = validBounds.sw[1] + defaultTransform.y;
8977
+ const swLng = validBounds.sw[0] + defaultTransform.x;
8978
+ const neLat = validBounds.ne[1] + defaultTransform.y;
8979
+ const neLng = validBounds.ne[0] + defaultTransform.x;
8953
8980
  const googleBounds = new window.google.maps.LatLngBounds(new window.google.maps.LatLng(swLat, swLng), // 西南角
8954
8981
  new window.google.maps.LatLng(neLat, neLng) // 东北角
8955
8982
  );
@@ -8979,7 +9006,8 @@ const MowerMapRenderer = React.forwardRef(({ mapConfig, modelType, mapRef, mapJs
8979
9006
  return;
8980
9007
  }
8981
9008
  // 将自定义边界转换为Google Maps LatLngBounds(使用有效的GPS坐标)
8982
- const validBounds = getValidGpsBounds(mapJson);
9009
+ // 这里需要使用0度,需要原始的坐标点去计算元素的实际位置,只有在fitbounds的时候才需要使用旋转后的坐标点
9010
+ const validBounds = getValidGpsBounds(mapJson, 0);
8983
9011
  // 地图数据中的坐标格式是 [longitude, latitude]
8984
9012
  const swLat = validBounds.sw[1];
8985
9013
  const swLng = validBounds.sw[0];
@@ -9051,10 +9079,8 @@ const MowerMapRenderer = React.forwardRef(({ mapConfig, modelType, mapRef, mapJs
9051
9079
  const inChargingPiles = [RobotStatus.CHARGING, RobotStatus.PARKED];
9052
9080
  const isOffLine = mowerPositionData.vehicleState === RobotStatus.DISCONNECTED;
9053
9081
  const isInChargingPile = inChargingPiles.includes(mowerPositionData.vehicleState);
9054
- console.log('isInChargingPile-----------》', isInChargingPile, mowerPositionData);
9055
9082
  // 如果在充电桩上,则直接更新位置到充电桩的位置
9056
9083
  if (isInChargingPile) {
9057
- console.log('isInChargingPile', isInChargingPile, mowerPositionData);
9058
9084
  overlayRef.current.updatePosition({
9059
9085
  ...mowerPositionData,
9060
9086
  postureX: chargingPiles?.originalData.position[0],
@@ -9067,7 +9093,6 @@ const MowerMapRenderer = React.forwardRef(({ mapConfig, modelType, mapRef, mapJs
9067
9093
  const positonOutOfRange = isOutOfRange(mowerPositionData);
9068
9094
  const positionValid = isInvalidPosition(mowerPositionData);
9069
9095
  const isStandby = mowerPositionData.vehicleState === RobotStatus.STANDBY;
9070
- console.log('positonOutOfRange', positonOutOfRange, positionValid, isOffLine);
9071
9096
  if (positonOutOfRange || positionValid || isOffLine) {
9072
9097
  // 初始信息是通过后端接口获取的,此时当前位置数据不可用的时候,可以取上一次的位置数据
9073
9098
  // mowerPositionData 中可能会包含上一次的位置数据,
@@ -9147,14 +9172,14 @@ const MowerMapRenderer = React.forwardRef(({ mapConfig, modelType, mapRef, mapJs
9147
9172
  }
9148
9173
  }, [realTimeData, mapJson, pathJson]);
9149
9174
  React.useEffect(() => {
9150
- console.log('defaultTransform----->', defaultTransform);
9175
+ console.log('defaultTransform----->', defaultTransform, overlayRef.current);
9151
9176
  if (!overlayRef.current || !defaultTransform)
9152
9177
  return;
9153
9178
  if (defaultTransform.x === 0 && defaultTransform.y === 0 && defaultTransform.rotation === 0) {
9154
9179
  return;
9155
9180
  }
9156
9181
  overlayRef.current?.setTransform(defaultTransform);
9157
- const validBounds = getValidGpsBounds(mapJson);
9182
+ const validBounds = getValidGpsBounds(mapJson, defaultTransform?.rotation);
9158
9183
  // 地图数据中的坐标格式是 [longitude, latitude]
9159
9184
  const swLat = validBounds.sw[1] + defaultTransform.y;
9160
9185
  const swLng = validBounds.sw[0] + defaultTransform.x;
@@ -1 +1 @@
1
- {"version":3,"file":"PathDataProcessor.d.ts","sourceRoot":"","sources":["../../src/processor/PathDataProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAgB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,YAAY,EAAE;CAqElF"}
1
+ {"version":3,"file":"PathDataProcessor.d.ts","sourceRoot":"","sources":["../../src/processor/PathDataProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAgB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,YAAY,EAAE;CAmElF"}
@@ -1 +1 @@
1
- {"version":3,"file":"BoundaryLabelsManager.d.ts","sourceRoot":"","sources":["../../src/render/BoundaryLabelsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,YAAY,EAIb,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,kBAAkB,CAAmC;IAG7D,OAAO,CAAC,yBAAyB,CAAuB;IAGxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAG7B;IAGF,OAAO,CAAC,QAAQ,CAAa;gBAEjB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE;IAM7D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI;IA8FtD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,cAAc;IAOd;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;;;;OAKG;IACH,kCAAkC,CAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA0CnE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+C9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA4B1C;;OAEG;IACH,OAAO,CAAC,8CAA8C;IAkBtD;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE;IAY/C;;OAEG;IACH,OAAO;IAcP;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,eAAe,IAAI,YAAY,EAAE;IAIjC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAKvD;;OAEG;IACH,iBAAiB;IAcjB;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,OAAO;IAsBnC;;OAEG;IACH,WAAW;IAIX;;OAEG;IACH,MAAM,CAAC,kBAAkB;;;;IAKzB;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM;IAY5B;;OAEG;IACH,mBAAmB;CAUpB"}
1
+ {"version":3,"file":"BoundaryLabelsManager.d.ts","sourceRoot":"","sources":["../../src/render/BoundaryLabelsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,YAAY,EAIb,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,kBAAkB,CAAmC;IAG7D,OAAO,CAAC,yBAAyB,CAAuB;IAGxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAG7B;IAGF,OAAO,CAAC,QAAQ,CAAa;gBAEjB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE;IAM7D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI;IA8FtD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,cAAc;IAOd;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;;;;OAKG;IACH,kCAAkC,CAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAyCnE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+C9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA4B1C;;OAEG;IACH,OAAO,CAAC,8CAA8C;IAkBtD;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE;IAY/C;;OAEG;IACH,OAAO;IAcP;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,eAAe,IAAI,YAAY,EAAE;IAIjC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAKvD;;OAEG;IACH,iBAAiB;IAcjB;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,OAAO;IAsBnC;;OAEG;IACH,WAAW;IAIX;;OAEG;IACH,MAAM,CAAC,kBAAkB;;;;IAKzB;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM;IAY5B;;OAEG;IACH,mBAAmB;CAUpB"}
@@ -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":"MowerMapRenderer.d.ts","sourceRoot":"","sources":["../../src/render/MowerMapRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAef,OAAO,EAAa,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAY1F,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,GAAG,CAAC;KACb;CACF;AAiDD,eAAO,MAAM,gBAAgB,mGAwZ5B,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;AAef,OAAO,EAAa,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAY1F,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,GAAG,CAAC;KACb;CACF;AAqGD,eAAO,MAAM,gBAAgB,mGAuZ5B,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,EAML,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAa;IAC5B,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,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;IAUZ,IAAI,aAAa,YAEhB;IAED;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,4BAA4B,CAC1B,2BAA2B,EAAE,mBAAmB;IAuBlD;;OAEG;IACH,cAAc,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,GAAE,MAAU;IA4C7E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA8ChC,mBAAmB;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;IAgDnB;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA6B1C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;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,EAML,WAAW,EACZ,MAAM,UAAU,CAAC;AAElB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAa;IAC5B,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,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;IAUZ,IAAI,aAAa,YAEhB;IAED;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,4BAA4B,CAC1B,2BAA2B,EAAE,mBAAmB;IAsBlD;;OAEG;IACH,cAAc,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,GAAE,MAAU;IA2C7E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA8ChC,mBAAmB;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;IA6CnB;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA6B1C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleRealTime.d.ts","sourceRoot":"","sources":["../../src/utils/handleRealTime.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGrD,MAAM,WAAW,uBAAuB;IAEtC,YAAY,EAAE,CAAC,oBAAoB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,EAAE,CAAC;IAErF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAGD,eAAO,MAAM,cAAc,GAAI,mBAAmB,GAAG,EAAE,EAAE,WAAW,MAAM,EAAE,WAAW,MAAM,QAS5F,CAAC;AAiDF;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,GAAI,0DAMpC,uBAAuB,KAAG;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CAiEnB,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oCAAoC,GAAI,uCAI3C;IAED,YAAY,EAAE,CAAC,oBAAoB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,EAAE,CAAC;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,KAAG;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CA6BpB,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,CAAC"}
1
+ {"version":3,"file":"handleRealTime.d.ts","sourceRoot":"","sources":["../../src/utils/handleRealTime.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGrD,MAAM,WAAW,uBAAuB;IAEtC,YAAY,EAAE,CAAC,oBAAoB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,EAAE,CAAC;IAErF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAGD,eAAO,MAAM,cAAc,GAAI,mBAAmB,GAAG,EAAE,EAAE,WAAW,MAAM,EAAE,WAAW,MAAM,QAS5F,CAAC;AAiDF;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,GAAI,0DAMpC,uBAAuB,KAAG;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CAgEnB,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oCAAoC,GAAI,uCAI3C;IAED,YAAY,EAAE,CAAC,oBAAoB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,EAAE,CAAC;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,KAAG;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CA6BpB,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fleet-frontend/mower-maps",
3
- "version": "0.0.9-beta.1",
3
+ "version": "0.0.9-beta.2",
4
4
  "type": "module",
5
5
  "description": "a mower maps in google maps",
6
6
  "main": "dist/index.js",