@fleet-frontend/mower-maps
Version:
a mower maps in google maps
154 lines • 5.15 kB
TypeScript
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