e087dd46e2
Reviewed-on: #1
127 lines
3.1 KiB
TypeScript
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
|
|
}
|