@fleet-frontend/mower-maps
Version:
a mower maps in google maps
198 lines • 3.97 kB
TypeScript
import { BaseLayer } from './layers';
/**
* SVG基础MapView
* 使用真正的矢量SVG渲染替代Canvas位图渲染
*/
export declare class SvgMapView {
private svg;
private container;
private viewBox;
private sn;
private layers;
private layersGroup;
private scale;
private lineScale;
private offsetX;
private offsetY;
private rotation;
private destroyed;
private isDragging;
private lastMouseX;
private lastMouseY;
constructor(sn: string, containerElement: HTMLElement, width?: number, height?: number);
/**
* 创建SVG元素
*/
private createSVGElement;
/**
* 设置SVG基本属性
*/
private setupSVG;
/**
* 创建SVG组元素
*/
private createSVGGroup;
/**
* 更新viewBox
*/
private updateViewBox;
/**
* 更新layersGroup的transform
*/
private updateLayersTransform;
addLayers(layers: BaseLayer[]): void;
getLayer<T extends BaseLayer>(type: string): T | null;
/**
* 添加图层
*/
addLayer(layer: BaseLayer): void;
/**
* 移除图层
*/
removeLayer(layer: BaseLayer): void;
/**
* 根据类型移除图层
* @param type 图层类型
*/
removeLayerByType(type: string): void;
/**
* 设置自适应视图变换 - 让SVG刚好包裹住图形
*/
fitToView(bounds: {
minX: number;
minY: number;
maxX: number;
maxY: number;
}): void;
/**
* 获取当前缩放级别
*/
getZoom(): number;
/**
* 获取当前线条缩放系数
*/
getLineScale(): number;
/**
* 绘制特定的图层
*/
renderLayer(type: string): void;
/**
* 主渲染方法
*/
private render;
/**
* 获取图层id
*/
private getLayerId;
/**
* 清空图层组
*/
private clearLayersGroup;
/**
* 获取图层的下一个兄弟元素
* 根据图层的level来获取
*/
private getNextSibling;
/**
* 绘制图层,不传参数则默认绘制所有图层
*/
private onDrawLayers;
/**
* 刷新渲染
*/
refresh(): void;
/**
* 获取layers-group的实际边界
*/
getLayersGroupBounds(): {
x: number;
y: number;
width: number;
height: number;
} | null;
/**
* 获取ViewBox信息
*/
getViewBoxInfo(): {
x: number;
y: number;
width: number;
height: number;
};
/**
* 获取容器的实际尺寸
*/
getContainerSize(): {
width: number;
height: number;
};
/**
* 诊断SVG尺寸信息
*/
diagnosticSizeInfo(): void;
/**
* 获取SVG元素
*/
getSVG(): SVGSVGElement;
/**
* 获取容器元素
*/
getContainer(): HTMLElement;
/**
* 获取所有图层
*/
getLayers(): BaseLayer[];
/**
* 清空所有图层
*/
clear(): void;
/**
* 销毁MapView
*/
destroy(): void;
/**
* 设置X偏移
*/
setOffsetX(x: number): void;
/**
* 设置Y偏移
*/
setOffsetY(y: number): void;
/**
* 设置旋转角度(度)
*/
setRotation(rotation: number): void;
/**
* 设置完整的transform
*/
setTransform(transform: {
x?: number;
y?: number;
rotation?: number;
}): void;
/**
* 获取当前transform状态
*/
getTransform(): {
x: number;
y: number;
rotation: number;
};
/**
* 重置transform到默认状态
*/
resetTransform(): void;
/**
* 获取X偏移
*/
getOffsetX(): number;
/**
* 获取Y偏移
*/
getOffsetY(): number;
/**
* 获取旋转角度
*/
getRotation(): number;
}
//# sourceMappingURL=SvgMapView.d.ts.map