allow users to set coordinate display type (#141)

This commit is contained in:
MaysWind
2025-05-27 01:01:55 +08:00
parent e338c7190d
commit 626d3895aa
36 changed files with 516 additions and 144 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck
import type { MapPosition } from '@/core/map.ts';
import type { Coordinate } from '@/core/coordinate.ts';
import type { MapProvider, MapInstance, MapInstanceInitOptions } from './base.ts';
import { asyncLoadAssets } from '@/lib/misc.ts';
@@ -105,7 +105,7 @@ export class AmapMapInstance implements MapInstance {
this.inited = true;
}
public setMapCenterTo(center: MapPosition, zoomLevel: number): void {
public setMapCenterTo(center: Coordinate, zoomLevel: number): void {
if (!AmapMapProvider.AMap || !this.amapInstance) {
return;
}
@@ -146,7 +146,7 @@ export class AmapMapInstance implements MapInstance {
});
}
public setMapCenterMarker(position: MapPosition): void {
public setMapCenterMarker(position: Coordinate): void {
if (!AmapMapProvider.AMap || !this.amapInstance) {
return;
}
+3 -3
View File
@@ -1,6 +1,6 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck
import type { MapPosition } from '@/core/map.ts';
import type { Coordinate } from '@/core/coordinate.ts';
import type { MapProvider, MapInstance, MapInstanceInitOptions } from './base.ts';
import { asyncLoadAssets } from '@/lib/misc.ts';
@@ -96,7 +96,7 @@ export class BaiduMapInstance implements MapInstance {
this.inited = true;
}
public setMapCenterTo(center: MapPosition, zoomLevel: number): void {
public setMapCenterTo(center: Coordinate, zoomLevel: number): void {
if (!BaiduMapProvider.BMap || !this.baiduMapInstance) {
return;
}
@@ -141,7 +141,7 @@ export class BaiduMapInstance implements MapInstance {
}
}
public setMapCenterMarker(position: MapPosition): void {
public setMapCenterMarker(position: Coordinate): void {
if (!BaiduMapProvider.BMap || !this.baiduMapInstance) {
return;
}
+5 -5
View File
@@ -1,4 +1,4 @@
import type { MapPosition } from '@/core/map.ts';
import type { Coordinate } from '@/core/coordinate.ts';
export interface MapProvider {
getWebsite(): string;
@@ -13,18 +13,18 @@ export interface MapInstance {
readonly defaultZoomLevel: number;
readonly minZoomLevel: number;
initMapInstance(mapContainer: HTMLElement, options: MapInstanceInitOptions): void;
setMapCenterTo(center: MapPosition, zoomLevel: number): void;
setMapCenterMarker(position: MapPosition): void;
setMapCenterTo(center: Coordinate, zoomLevel: number): void;
setMapCenterMarker(position: Coordinate): void;
removeMapCenterMarker(): void;
}
export interface MapInstanceInitOptions {
readonly language?: string;
readonly initCenter: MapPosition;
readonly initCenter: Coordinate;
readonly zoomLevel: number;
readonly text: {
readonly zoomIn: string;
readonly zoomOut: string;
};
readonly onClick?: (position: MapPosition) => void;
readonly onClick?: (position: Coordinate) => void;
}
+3 -3
View File
@@ -1,6 +1,6 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck
import type { MapPosition } from '@/core/map.ts';
import type { Coordinate } from '@/core/coordinate.ts';
import type { MapProvider, MapInstance, MapInstanceInitOptions } from './base.ts';
import { asyncLoadAssets } from '@/lib/misc.ts';
@@ -94,7 +94,7 @@ export class GoogleMapInstance implements MapInstance {
this.inited = true;
}
public setMapCenterTo(center: MapPosition, zoomLevel: number): void {
public setMapCenterTo(center: Coordinate, zoomLevel: number): void {
if (!GoogleMapProvider.GoogleMap || !this.googleMapInstance) {
return;
}
@@ -106,7 +106,7 @@ export class GoogleMapInstance implements MapInstance {
this.googleMapInstance.setZoom(zoomLevel);
}
public setMapCenterMarker(position: MapPosition): void {
public setMapCenterMarker(position: Coordinate): void {
if (!GoogleMapProvider.GoogleMap || !this.googleMapInstance) {
return;
}
+4 -5
View File
@@ -1,6 +1,6 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck
import type { MapPosition } from '@/core/map.ts';
import type { Coordinate } from '@/core/coordinate.ts';
import { type LeafletTileSource, type LeafletTileSourceExtraParam, LEAFLET_TILE_SOURCES } from '@/consts/map.ts';
@@ -97,8 +97,7 @@ export class LeafletMapInstance implements MapInstance {
center: [ options.initCenter.latitude, options.initCenter.longitude ],
zoom: options.zoomLevel,
attributionControl: false,
zoomControl: false,
worldCopyJump: true
zoomControl: false
});
let tileUrlFormat, tileUrlSubDomains, annotationUrlFormat, annotationUrlSubDomains: string | undefined;
@@ -180,7 +179,7 @@ export class LeafletMapInstance implements MapInstance {
this.inited = true;
}
public setMapCenterTo(center: MapPosition, zoomLevel: number): void {
public setMapCenterTo(center: Coordinate, zoomLevel: number): void {
if (!this.leafletInstance) {
return;
}
@@ -188,7 +187,7 @@ export class LeafletMapInstance implements MapInstance {
this.leafletInstance.setView([ center.latitude, center.longitude ], zoomLevel);
}
public setMapCenterMarker(position: MapPosition): void {
public setMapCenterMarker(position: Coordinate): void {
if (!LeafletMapProvider.Leaflet || !this.leafletInstance) {
return;
}