UNPKG

@fleet-frontend/mower-maps

Version:

a mower maps in google maps

154 lines 5.15 kB
import { SvgMapView } from './SvgMapView'; import { UnitsType } from '../types/utils'; import { RobotStatus } from '../types/constants'; import { PathData } from '../types/path'; import { DragState, DragCallbacks, MowerPositionConfig, MowerPartitionInfo } from '../types/renderer'; import { RealTimePartitionType } from '@/types/realTime'; declare global { interface Window { google: any; } } export declare class MowerMapOverlay { private bounds; private mapData; private partitionBoundary; private pathData; private mowerPositionConfig; private modelType?; private div; private svgMapView; private offscreenContainer; private overlayView; private isEditMode; private unitType; private language; private onlyRead; private mapConfig; private antennaConfig; private onMapLoad?; private onPathLoad?; private dragCallbacks?; private defaultTransform; private hasEdger; private sn; private boundaryData; private boundaryLabelsManager; private chargingPileManager; private antennaManager; private mowerPositionManager; private currentAnimationTime; private isUserAnimation; private editContainer; private borderElement; private rotateHandle; private dragHandle; private isDragging; private isRotating; private startPos; private currentRotation; private lastRotationTime; private latLngOffset; private tempPixelOffset; private initialOffset; private initialRotation; private cleanupListeners?; private mowPartitionData; constructor(sn: string, bounds: any, mapData: any, partitionBoundary: any[], mowerPositionConfig: MowerPositionConfig, modelType?: string, pathData: PathData, isEditMode?: boolean, unitType?: UnitsType, language?: string, onlyRead?: boolean, mapConfig?: any, antennaConfig?: any, mowPartitionData?: MowerPartitionInfo | null, defaultTransform?: { x?: number; y?: number; rotation?: number; }, onMapLoad?: (elementCount: number) => void, onPathLoad?: (elementCount: number) => void, dragCallbacks?: DragCallbacks); updatePosition(positionConfig: MowerPositionConfig, animationTime?: number): void; updatePositionByLastPosition(chargingPilesPositionConfig: MowerPositionConfig): void; setMap(map: any): void; setEdger(edger: boolean): void; getMap(): any; getProjection(): any; getPanes(): any; resetBorderLayerHighlight(): void; setBorderLayerHighlight(mowPartitionData?: RealTimePartitionType): void; onAdd(): void; private setupZoomListener; private onMapZoomChanged; private createBoundaryLabelsManager; private createChargingPileManager; private createAntennaManager; private createMowerPositionManager; private updateBoundaryLabelsPositionOptimized; private updateManagerPositions; setReadOnlyMode(enabled: boolean): void; createEditInterface(): void; resetInitialState(): void; getCurrentDragState(): DragState; addEditEventListeners(): void; handleDrag(e: any): void; handleRotation(e: any): void; convertPixelOffsetToLatLng(): void; getEditData(): { originalBounds: any; finalBounds: any; latLngOffset: { lat: number; lng: number; }; rotation: number; }; calculateFinalBounds(): any; setCustomIcons(rotateIcon?: string, dragIcon?: string): void; handleSave(): { mapData: any; editData: { originalBounds: any; finalBounds: any; latLngOffset: { lat: number; lng: number; }; rotation: number; }; timestamp: string; }; showSaveSuccess(): void; setEditMode(enabled: boolean): void; removeEditInterface(): void; /** * 设置旋转角度 */ setManagerRotation(rotation: number): void; setTransform(transform: { x?: number; y?: number; rotation?: number; }): void; resetToDefaultTransform(): void; initializeSvgMapView(): void; loadMapData(): void; loadPathData(pathData: PathData, mowPartitionData?: RealTimePartitionType): void; updatePathDataByMowingPositionThrottled: (position: { x: number; y: number; vehicleState: RobotStatus; }) => void; /** * 根据割草机位置,更新路径数据 * @param position 割草机位置 */ updatePathDataByMowingPosition(position: { x: number; y: number; vehicleState: RobotStatus; }): void; updateMowPartitionData(mowPartitionData?: RealTimePartitionType): void; /** 更新历史路径数据 */ updatePathData(pathData: PathData, mowPartitionData: RealTimePartitionType): void; /** 更新边界标签信息 */ updateBoundaryLabelInfo(pathJson: PathData): void; draw(): void; onRemove(): void; hide(): void; show(): void; setMowerPositionVisible(visible: boolean): void; getSvgMapView(): SvgMapView; } //# sourceMappingURL=MowerMapOverlay.d.ts.map