Files
opencloud/src/types/amap.d.ts
T
2026-05-30 00:39:20 +08:00

127 lines
3.1 KiB
TypeScript

declare namespace AMap {
class Map {
constructor(container: string | HTMLElement, opts?: MapOptions)
addControl(control: unknown): void
add(layer: unknown): void
remove(layer: unknown): void
destroy(): void
setCenter(center: [number, number]): void
setZoom(zoom: number): void
setPitch(pitch: number): void
getPitch(): number
setRotation(rotation: number): void
getRotation(): number
on(event: string, callback: (...args: unknown[]) => void): void
off(event: string, callback: (...args: unknown[]) => void): void
getCenter(): { lng: number; lat: number }
getZoom(): number
getAllOverlays(type?: string): unknown[]
addOverlay(overlay: unknown): void
removeOverlay(overlay: unknown): void
clearMap(): void
}
interface MapOptions {
viewMode?: '2D' | '3D'
pitch?: number
rotation?: number
zoom?: number
zooms?: [number, number]
center?: [number, number]
mapStyle?: string
features?: string[]
layers?: unknown[]
skyColor?: string
maxPitch?: number
resizeEnable?: boolean
dragEnable?: boolean
zoomEnable?: boolean
keyboardEnable?: boolean
doubleClickZoom?: boolean
scrollWheel?: boolean
}
class Marker {
constructor(opts?: MarkerOptions)
on(event: string, callback: (...args: unknown[]) => void): void
setPosition(position: [number, number]): void
getPosition(): { lng: number; lat: number }
setContent(content: string): void
setOpacity(opacity: number): void
setMap(map: Map | null): void
remove(): void
}
interface MarkerOptions {
position?: [number, number]
content?: string | HTMLElement
offset?: Pixel
zIndex?: number
opacity?: number
title?: string
}
class InfoWindow {
constructor(opts?: InfoWindowOptions)
open(map: Map, position?: [number, number]): void
close(): void
}
interface InfoWindowOptions {
content?: string | HTMLElement
offset?: Pixel
size?: Size
isCustom?: boolean
}
class Scale {}
class ToolBar {
constructor(opts?: Record<string, unknown>)
}
class ControlBar {
constructor(opts?: Record<string, unknown>)
}
class Geolocation {
constructor(opts?: Record<string, unknown>)
getCurrentPosition(
onSuccess: (data: { position: { lng: number; lat: number } }) => void,
onError?: (error: unknown) => void,
): void
}
class TileLayer {
static Satellite: new () => TileLayer
static RoadNet: new () => TileLayer
setOpacity(opacity: number): void
}
class Pixel {
constructor(x: number, y: number)
}
class Size {
constructor(width: number, height: number)
}
class MarkerCluster {
constructor(map: Map, markers: Marker[], opts?: Record<string, unknown>)
}
}
declare function AMapLoader_load(opts: {
key: string
version: string
plugins?: string[]
}): Promise<typeof AMap>
declare namespace AMap {
function getConfig(): { appname?: string }
}
declare module '@amap/amap-jsapi-loader' {
const AMapLoader: {
load: typeof AMapLoader_load
}
export default AMapLoader
}