support clicking on map to set specified geographic location
This commit is contained in:
+15
-1
@@ -1,6 +1,7 @@
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-nocheck
|
||||
import type { MapProvider, MapInstance, MapInstanceInitOptions, MapPosition } from './base.ts';
|
||||
import type { MapPosition } from '@/core/map.ts';
|
||||
import type { MapProvider, MapInstance, MapInstanceInitOptions } from './base.ts';
|
||||
|
||||
import { asyncLoadAssets } from '@/lib/misc.ts';
|
||||
import services from '@/lib/services.ts';
|
||||
@@ -18,6 +19,10 @@ export class AmapMapProvider implements MapProvider {
|
||||
return 'https://www.amap.com';
|
||||
}
|
||||
|
||||
public isSupportGetGeoLocationByClick(): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public asyncLoadAssets(language?: string): Promise<unknown> {
|
||||
if (AmapMapProvider.AMap) {
|
||||
@@ -86,6 +91,15 @@ export class AmapMapInstance implements MapInstance {
|
||||
});
|
||||
amapInstance.addControl(amapToolbar);
|
||||
|
||||
amapInstance.on('click', function(e) {
|
||||
if (options.onClick) {
|
||||
options.onClick({
|
||||
latitude: e.lnglat.lat,
|
||||
longitude: e.lnglat.lng
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
this.amapInstance = amapInstance;
|
||||
this.amapToolbar = amapToolbar;
|
||||
this.inited = true;
|
||||
|
||||
Reference in New Issue
Block a user