migrate map code to typescript

This commit is contained in:
MaysWind
2025-01-05 03:10:41 +08:00
parent a46399cbaf
commit 16fa77eb09
17 changed files with 919 additions and 912 deletions
+31
View File
@@ -0,0 +1,31 @@
export interface MapProvider {
getWebsite(): string;
asyncLoadAssets(language: string): Promise<unknown>;
createMapInstance(): MapInstance | null;
}
export interface MapInstance {
dependencyLoaded: boolean;
inited: boolean;
readonly defaultZoomLevel: number;
readonly minZoomLevel: number;
initMapInstance(mapContainer: HTMLElement, options: MapInstanceInitOptions): void;
setMapCenterTo(center: MapPosition, zoomLevel: number): void;
setMapCenterMarker(position: MapPosition): void;
removeMapCenterMarker(): void;
}
export interface MapInstanceInitOptions {
readonly language?: string;
readonly initCenter: MapPosition;
readonly zoomLevel: number;
readonly text: {
readonly zoomIn: string;
readonly zoomOut: string;
}
}
export interface MapPosition {
latitude: number;
longitude: number;
}