npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@cn-map/gaode-types

v2.1.0

Published

高德地图 jsapi v2 的 typescript 类型定义

Readme

@cn-map/gaode-types

高德地图 JSAPI v2 的 TypeScript 类型定义。声明全局 AMap / Loca 命名空间,无需 import 即可获得类型提示。

安装

npm install -D @cn-map/gaode-types
yarn add -D @cn-map/gaode-types
pnpm add -D @cn-map/gaode-types
bun add --dev @cn-map/gaode-types

使用

把包加入 tsconfig 的 types,以加载全局声明:

  {
    "compilerOptions": {
      "types": [
+       "@cn-map/gaode-types",
        // ... 其他已有类型
      ]
    }
  }

之后在普通 TypeScript 代码里即可使用 AMap / Loca 类型,无需 import:

const map = new AMap.Map('container', {
  zoom: 11,
  center: [116.397428, 39.90923],
})

map.on('click', event => {
  console.log(event.lnglat)
})

使用全局声明文件

不想修改 tsconfig 时,也可以在项目里任意会被编译到的声明文件(如 src/global.d.ts)中加入:

/// <reference types="@cn-map/gaode-types" />

效果与在 types 中声明相同。注意包未安装时这里不会报错,AMap 相关类型会静默退化为 any。

类图

---
title: 高德地图 JS API 2.0 类型定义
---
classDiagram
  class Bounds
  class Icon
  class LngLat
  class Pixel
  class Size
  class Event {
    <<Abstract>>
  }
  Event <|-- CoreMap
  CoreMap <|-- Map
  class Overlay {
    <<Abstract>>
  }
  Event <|-- Overlay
  class Control {
    <<Abstract>>
  }
  Event <|-- Control
  Control <|-- ControlBar
  Control <|-- HawkEye
  Control <|-- MapType
  Control <|-- Scale
  Control <|-- ToolBar
  class DOMOverlay {
    <<Abstract>>
  }
  Overlay <|-- DOMOverlay
  class DragOverlay {
    <<Abstract>>
  }
  Overlay <|-- DragOverlay
  class VectorOverlay {
    <<Abstract>>
  }
  DragOverlay <|-- VectorOverlay
  Overlay <|-- LabelMarker
  class MoveAnimation {
    <<Abstract>>
  }
  MoveAnimation <|-- LabelMarker : implements
  MoveAnimation <|-- Marker : implements
  DOMOverlay <|-- Marker
  Marker <|-- ElasticMarker
  Marker <|-- Text
  DOMOverlay <|-- InfoWindow
  DOMOverlay <|-- ContextMenu
  class CoreDOMOverlayGroup {
    <<Abstract>>
  }
  Overlay <|-- CoreDOMOverlayGroup
  CoreDOMOverlayGroup <|-- DOMOverlayGroup
  class CorePolygon {
    <<Abstract>>
  }
  VectorOverlay <|-- CorePolygon
  CorePolygon <|-- Polygon
  CorePolygon <|-- CoreRectangle
  CoreRectangle <|-- Rectangle
  CoreRectangle <|-- Circle
  CoreRectangle <|-- Ellipse
  class CorePolyline {
    <<Abstract>>
  }
  VectorOverlay <|-- CorePolyline
  CorePolyline <|-- Polyline
  class CoreBezierCurve {
    <<Abstract>>
  }
  CorePolyline <|-- CoreBezierCurve
  CoreBezierCurve <|-- BezierCurve
  class CoreCircleMarker {
    <<Abstract>>
  }
  VectorOverlay <|-- CoreCircleMarker
  CoreCircleMarker <|-- CircleMarker
  class Layer
  Event <|-- Layer
  Layer <|-- CoreVectorLayer
  CoreVectorLayer <|-- VectorLayer
  class CoreCustomLayer {
    <<Abstract>>
  }
  Layer <|-- CoreCustomLayer
  CoreCustomLayer <|-- CustomLayer
  class CoreGLCustomLayer {
    <<Abstract>>
  }
  Layer <|-- CoreGLCustomLayer
  CoreGLCustomLayer <|-- GLCustomLayer
  class CoreImageLayer {
    <<Abstract>>
  }
  Layer <|-- CoreImageLayer
  CoreImageLayer <|-- ImageLayer
  CoreImageLayer <|-- CanvasLayer
  class CoreLabelsLayer {
    <<Abstract>>
  }
  Layer <|-- CoreLabelsLayer
  CoreLabelsLayer <|-- LabelsLayer
  class CoreBuildings {
    <<Abstract>>
  }
  Layer <|-- CoreBuildings
  CoreBuildings <|-- Buildings
  class CoreTraffic {
    <<Abstract>>
  }
  Layer <|-- CoreTraffic
  CoreTraffic <|-- Traffic
  %% Traffic 在 baseRender === "d"(DOM 回退渲染)时退化为继承 TileLayer 的栅格路况图层
  class CoreMapboxLayer {
    <<Abstract>>
  }
  Layer <|-- CoreMapboxLayer
  CoreMapboxLayer <|-- Mapbox
  class CoreDistrictLayer {
    <<Abstract>>
  }
  class RasterLayer {
    <<Abstract>>
  }
  Layer <|-- RasterLayer
  RasterLayer <|-- TileLayer
  TileLayer <|-- Flexible
  TileLayer <|-- Mark
  TileLayer <|-- RoadNet
  TileLayer <|-- Satellite
  TileLayer <|-- WMS
  TileLayer <|-- WMTS
  TileLayer <|-- CoreDistrictLayer
  CoreDistrictLayer <|-- DistrictLayer
  DistrictLayer <|-- World
  DistrictLayer <|-- Country
  DistrictLayer <|-- Province
  class CoreMapboxVectorTileLayer {
    <<Abstract>>
  }
  TileLayer <|-- CoreMapboxVectorTileLayer
  CoreMapboxVectorTileLayer <|-- MapboxVectorTileLayer
  Layer <|-- Indoor
  Indoor <|-- IndoorMap
  Layer <|-- NebulaLayer
  Layer <|-- SkyLayer
  Event <|-- HeatMap
  Event <|-- DataCluster
  Event <|-- IndexCluster
  Event <|-- MarkerCluster
  Event <|-- MassMarks
  Event <|-- LayerGroup
  Event <|-- 3DTilesLayer
---
title: This is overlays' class mermaid
---
classDiagram
  class Event {
    <<Abstract>>
    +clearEvents()
    +emit()
    +getEvents()
    +hasEvents()
    +off()
    +on()
    +once()
    +_on()
  }
  class MassMarks {
    +clear()
    +getCursor()
    +getData()
    +getMap()
    +getOpacity()
    +getStyle()
    +getZooms()
    +getzIndex()
    +hide()
    +setData()
    +setMap()
    +setOpacity()
    +setStyle()
    +setZooms()
    +setzIndex()
    +show()
    +KD()
    +QD()
    +Rm()
    +XD()
  }
  class Overlay {
    <<Abstract>>
  }
  class DOMOverlay {
    <<Abstract>>
    +add()
    +addTo()
    +dP()
    +destroy()
    +getAnchor()
    +getAngle()
    +getBounds()
    +getContent()
    +getContentDom()
    +getCursor()
    +getMap()
    +getOffset()
    +getOptions()
    +getOrientation()
    +getPosition()
    +getSize()
    +getVisible()
    +getzIndex()
    +hide()
    +pP()
    +remove()
    +setAnchor()
    +setAngle()
    +setContent()
    +setMap()
    +setOffset()
    +setOrientation()
    +setPosition()
    +setSize()
    +setzIndex()
    +show()
    +uZ()
    +updateOverlay()
    +vP()
    +Ydt()
    +ZF()
    +_add()
    +_applyStyle()
    +_createContainer()
    +_createDefaultInnerDom()
    +_createDom()
    +_formatSize()
    +_getAnchorOffset()
    +_getContentSize()
    +_getOffset()
    +_getRotationByLngLats()
    +_getRotationByPoints()
    +_getSize()
    +_getStyleZIndex()
    +_remove()
    +_removeContent()
    +_setStyle()
  }
  class ContextMenu {
    +addItem()
    +close()
    +getBounds()
    +getDraggable()
    +open()
    +qy()
    +removeItem()
    +Vy()
    +Xy()
    +Yy()
    +_add()
    +_createDefaultInnerDom()
    +_createDom()
  }
  class InfoWindow {
    +close()
    +g_()
    +getBounds()
    +getDraggable()
    +getExtData()
    +getIsOpen()
    +jy()
    +open()
    +setAnchor()
    +setContent()
    +setExtData()
    +setOptions()
    +setSize()
    +updateOverlay()
    +Ey()
    +GF()
    +Ny()
    +Oy()
    +$y()
    +_add()
    +_createDefaultInnerDom()
    +_createDom()
    +_getAnchorOffset()
    +_getContentSize()
    +_remove()
  }
  class CoreDOMOverlayGroup {
    <<Abstract>>
  }
  class DOMOverlayGroup {
    +add()
    +addToGroup()
    +destroy()
    +ey()
    +getAllOverlays()
    +getOptions()
    +iy()
    +ny()
    +remove()
    +removeFromGroup()
    +updateOverlay()
    +vi()
  }
  class DragOverlay {
    <<Abstract>>
    +Ay()
    +Cy()
    +Ly()
    +Mx()
    +Rx()
  }
  class VectorOverlay {
    <<Abstract>>
    +b_()
    +cE()
    +destroy()
    +emit()
    +getCursor()
    +getDeltaCoord()
    +getDraggable()
    +getExtData()
    +getMap()
    +getOptions()
    +hide()
    +moveWithPixel()
    +moveWithPos()
    +nY()
    +rY()
    +remove()
    +setDraggable()
    +setExtData()
    +setMap()
    +show()
    +to()
    +BB()
    +Ly()
    +Zx()
    +_beforeRemoveMap()
    +_checkMap()
    +_dragging()
  }
  class LabelMarker {
    +dP()
    +emit()
    +getBounds()
    +getCollision()
    +getCursor()
    +getDraggable()
    +getExtData()
    +getIcon()
    +getName()
    +getOpacity()
    +getOptions()
    +getPosition()
    +getRank()
    +getRichText()
    +getRotation()
    +getStatus()
    +getText()
    +getVisible()
    +getZooms()
    +getzIndex()
    +hide()
    +nY()
    +pP()
    +remove()
    +setCursor()
    +setExtData()
    +setIcon()
    +setName()
    +setOpacity()
    +setOrientation()
    +setPosition()
    +setRank()
    +setRichText()
    +setRotation()
    +setText()
    +setTop()
    +setVisible()
    +setZooms()
    +setzIndex()
    +show()
    +to()
    +Cs()
    +Ydt()
    +_getRotationByLngLats()
    +_getRotationByPoints()
  }
  class MoveAnimation {
    <<Abstract>>
    +moveAlong()
    +moveTo()
    +pauseMove()
    +resumeMove()
    +startMove()
    +stopMove()
    +_destroyClip()
    +_getClip()
    +_getDuration()
    +_getMoveEndEvent()
    +_getMoveStartEvent()
    +_getMovingEvent()
    +_getOrientationByLngLats()
    +_getOriginPath()
    +_initAnimation()
  }
  class Marker {
    +d0()
    +emit()
    +getClickable()
    +getCursor()
    +getDraggable()
    +getExtData()
    +getIcon()
    +getLabel()
    +getTitle()
    +getTop()
    +ky()
    +moveAlong()
    +moveTo()
    +pauseMove()
    +remove()
    +resumeMove()
    +setClickable()
    +setCursor()
    +setDraggable()
    +setExtData()
    +setIcon()
    +setLabel()
    +setOptions()
    +setTitle()
    +setTop()
    +startMove()
    +stopMove()
    +toGeometry()
    +updateOverlay()
    +v0()
    +wy()
    +Ay()
    +Cy()
    +Ly()
    +My()
    +Ry()
    +Sy()
    +T_()
    +XH()
    +ZH()
    +_add()
    +_bindEvents()
    +_createDefaultInnerDom()
    +_createDom()
    +_createIcon()
    +_dragging()
    +_getD()
    +_getMarkerOffset()
    +_getStyleZIndex()
    +_removeContent()
    +_setIconSize()
    +_setIconStyle()
  }
  class ElasticMarker {
    +add()
    +setMapping()
    +setStyle()
    +updateOverlay()
    +_createDom()
    +_createElasticDom()
    +_createElasticOutter()
    +_getContentByZoom()
    +_getImageOffset()
    +_getImageSize()
    +_getSize()
    +_updateElasticContent()
    +_updateElasticSize()
    +_updateIcon()
    +_updateLabel()
  }
  class Text {
    +getOptions()
    +getText()
    +kx()
    +setStyle()
    +setText()
    +updateOverlay()
    +wx()
  }
  class CorePolygon {
    <<Abstract>>
    +destroy()
    +pdt()
    +reset()
    +toGeometry()
    +toString()
    +JL()
    +Q$()
    +Tx()
    +X$()
  }
  class Polygon {
    +bdt()
    +contains()
    +destroy()
    +getArea()
    +getBounds()
    +getExtrusionHeight()
    +getOptions()
    +getPath()
    +getStatus()
    +iE()
    +init()
    +jx()
    +moveWithPixel()
    +moveWithPos()
    +queryPolyhedronFeature()
    +setExtrusionHeight()
    +setOptions()
    +setPath()
    +tv()
    +Cdt()
    +Ldt()
    +Tdt()
    +ZB()
    +_dragging()
  }
  class CoreRectangle {
    +getArea()
    +getOptions()
  }
  class Rectangle {
    +getBounds()
    +getCenter()
    +getPath()
    +init()
    +moveWithPixel()
    +moveWithPos()
    +setBounds()
    +setOptions()
    +ZB()
  }
  class Circle {
    +ab()
    +getBounds()
    +getCenter()
    +getPath()
    +getRadius()
    +init()
    +moveWithPixel()
    +moveWithPos()
    +setCenter()
    +setCenterAndRadius()
    +setOptions()
    +setRadius()
    +O$()
    +ZB()
  }
  class Ellipse {
    +getBounds()
    +getCenter()
    +getPath()
    +getRadius()
    +init()
    +moveWithPixel()
    +moveWithPos()
    +setCenter()
    +setCenterAndRadius()
    +setOptions()
    +setRadius()
    +ZB()
  }
  class CorePolyline {
    <<Abstract>>
    +aC()
    +destroy()
    +toGeometry()
    +D_()
    +P_()
    +Q$()
    +Tx()
    +U_()
    +X$()
  }
  class Polyline {
    +contains()
    +destroy()
    +getBounds()
    +getLength()
    +getOptions()
    +getPath()
    +getStatus()
    +init()
    +jx()
    +moveWithPixel()
    +moveWithPos()
    +rD()
    +rL()
    +setOptions()
    +setPath()
    +Ix()
    +ZB()
  }
  class CoreBezierCurve {
    <<Abstract>>
    +getOptions()
  }
  class BezierCurve {
    +contains()
    +getBounds()
    +getPath()
    +init()
    +jx()
    +moveWithPixel()
    +moveWithPos()
    +setOptions()
    +setPath()
    +yb()
    +Ix()
    +ZB()
  }
  class CoreCircleMarker {
    <<Abstract>>
    +destroy()
    +reset()
    +setCenter()
    +toGeometry()
    +Tx()
    +XL()
    +Ydt()
  }
  class CircleMarker {
    +getBounds()
    +getCenter()
    +getOptions()
    +getRadius()
    +init()
    +moveWithPixel()
    +moveWithPos()
    +setOptions()
    +setRadius()
    +Ib()
    +ZB()
  }
  class OverlayGroup {
    +addOverlay()
    +addOverlays()
    +clearOverlays()
    +eachOverlay()
    +getOverlays()
    +hasOverlay()
    +hide()
    +off()
    +on()
    +removeOverlay()
    +removeOverlays()
    +setMap()
    +setOptions()
    +show()
  }
  class MarkerCluster {
    +addData()
    +at()
    +ct()
    +dt()
    +et()
    +ft()
    +getClustersCount()
    +getGridSize()
    +getMap()
    +getMaxZoom()
    +getMinClusterSize()
    +getStyles()
    +getUserDataLen()
    +ht()
    +isAverageCenter()
    +lt()
    +moveEnd()
    +nt()
    +ot()
    +pt()
    +rt()
    +setAverageCenter()
    +setData()
    +setGridSize()
    +setMap()
    +setMarkers()
    +setMaxZoom()
    +setMinClusterSize()
    +setRenderMarkerStyle()
    +setStyles()
    +st()
    +ut()
    +vt()
    +wt()
    +X()
    +Z()
  }
  class IndexCluster {
    +addData()
    +at()
    +getClustersCount()
    +getGridSize()
    +getMap()
    +getMaxZoom()
    +getStyles()
    +getUserDataLen()
    +isAverageCenter()
    +it()
    +l()
    +moveEnd()
    +nt()
    +q()
    +setAverageCenter()
    +setData()
    +setGridSize()
    +setMap()
    +setMaxZoom()
    +setRenderMarkerStyle()
    +setStyles()
    +tt()
    +B()
    +F()
    +G()
    +H()
    +J()
    +K()
    +L()
    +N()
    +P()
    +R()
    +S()
    +T()
    +V()
    +W()
    +X()
    +Y()
    +Z()
  }
  class DataCluster {
    +j()
    +A()
    +C()
    +D()
    +F()
    +J()
    +L()
    +N()
    +O()
    +S()
    +X()
  }
Event <|-- MassMarks
Event <|-- Overlay
Overlay <|-- DOMOverlay
DOMOverlay <|-- ContextMenu
DOMOverlay <|-- InfoWindow
Overlay <|-- CoreDOMOverlayGroup
CoreDOMOverlayGroup <|-- DOMOverlayGroup
Overlay <|-- DragOverlay
DragOverlay <|-- VectorOverlay
Overlay <|-- LabelMarker
MoveAnimation <|-- LabelMarker : implements
MoveAnimation <|-- Marker : implements
DOMOverlay <|-- Marker
Marker <|-- ElasticMarker
Marker <|-- Text
VectorOverlay <|-- CorePolygon
CorePolygon <|-- Polygon
CorePolygon <|-- CoreRectangle
CoreRectangle <|-- Rectangle
CoreRectangle <|-- Circle
CoreRectangle <|-- Ellipse
VectorOverlay <|-- CorePolyline
CorePolyline <|-- Polyline
CorePolyline <|-- CoreBezierCurve
CoreBezierCurve <|-- BezierCurve
VectorOverlay <|-- CoreCircleMarker
CoreCircleMarker <|-- CircleMarker
Event <|-- MarkerCluster
Event <|-- IndexCluster
Event <|-- DataCluster
---
title: This is layers' class mermaid
---
classDiagram
  class Event {
    <<Abstract>>
    +clearEvents()
    +emit()
    +getEvents()
    +hasEvents()
    +off()
    +on()
    +once()
    +_on()
  }
  class HeatMap {
    +addDataPoint()
    +addToMap()
    +dataSetToCoord()
    +getColorByAlpha()
    +getDataSet()
    +getMap()
    +getOptions()
    +getRenderer()
    +getzIndex()
    +gradient2webgl()
    +hide()
    +is3DMode()
    +lnglatToCoords()
    +removeFromMap()
    +setDataSet()
    +setMap()
    +setOptions()
    +setzIndex()
    +show()
    +_checkCanvas()
    +_clear()
    +_configure()
    +_doRender()
    +_draw2Condition()
    +_getCenterCoord()
    +_getRadius()
    +_isReadyForRender()
    +_isZoom()
    +_render()
    +_resetSizeScale()
    +_setDataSet()
  }
  class Layer {
    +afterRender()
    +beforeRender()
    +destroy()
    +get()
    +getLayerConfig()
    +getMap()
    +getOpacity()
    +getOptions()
    +getRender()
    +getSource()
    +getVisible()
    +getZooms()
    +getzIndex()
    +hide()
    +lo()
    +onAdd()
    +onCreated()
    +setMap()
    +setOpacity()
    +setZooms()
    +setzIndex()
    +show()
    +v$()
    +vi()
    +Do()
    +Hh()
    +Kh()
    +T$()
  }
  class NebulaLayer {
    +co()
    +destroy()
    +getLayerConfig()
    +getSourceConfig()
    +getState()
    +hide()
    +iP()
    +rP()
    +show()
    +v$()
    +Hh()
  }
  class SkyLayer {
    +co()
    +destroy()
    +getSourceConfig()
    +getState()
    +lo()
  }
  class CoreBuildings {
    <<Abstract>>
    +co()
    +destroy()
    +getLayerConfig()
    +getSourceConfig()
    +getState()
  }
  class Buildings {
    +getState()
    +setStyle()
    +uL()
  }
  class CoreImageLayer {
    <<Abstract>>
    +co()
    +getSourceConfig()
    +getState()
  }
  class ImageLayer {
    +getBounds()
    +getImageUrl()
    +setBounds()
    +setImageUrl()
  }
  class CanvasLayer {
    +destroy()
    +getBounds()
    +getElement()
    +reFresh()
    +setBounds()
    +setCanvas()
  }
  class RasterLayer {
    <<Abstract>>
    +co()
    +getSourceConfig()
    +getState()
    +Hh()
  }
  class Mark {
    +getSourceConfig()
    +_l()
  }
  class TileLayer {
    +getLayerConfig()
    +getTileUrl()
    +reload()
    +setTileUrl()
  }
  class TileLayer-Flexible {
    +getLayerConfig()
    +Hh()
  }
  class TileLayer-Mark {
    +getLayerConfig()
    +getTileUrl()
  }
  class TileLayer-RoadNet {
    +hide()
    +show()
    +v$()
  }
  class TileLayer-Satellite {
    +getLayerConfig()
  }
  class CoreTraffic {
    <<Abstract>>
    +co()
    +destroy()
    +getLayerConfig()
    +getSourceConfig()
    +getState()
    +onAdd()
    +rX()
    +reload()
    +v$()
  }
  class TileLayer-Traffic {
  }
  class TileLayer-WMS {
    +getLayerConfig()
    +getParams()
    +getUrl()
    +setParams()
    +setUrl()
    +_l()
  }
  class TileLayer-WMTS {
    +getLayerConfig()
    +getParams()
    +getUrl()
    +setParams()
    +setUrl()
    +_l()
  }
  class CoreMapboxVectorTileLayer {
    <<Abstract>>
    +co()
    +destroy()
    +err()
    +getLayerConfig()
    +getLayerOptions()
    +getSourceConfig()
    +getState()
    +nrr()
    +qq()
    +reload()
    +rrr()
    +trr()
  }
  class MapboxVectorTileLayer {
    +bdt()
    +cX()
    +filterByRect()
    +getLabelsLayer()
    +getState()
    +getUrl()
    +hide()
    +on()
    +onAdd()
    +queryPolyhedronFeature()
    +reload()
    +setStyle()
    +setUrl()
    +show()
    +srr()
    +tv()
    +urr()
    +vrr()
  }
  class CoreCustomLayer {
    <<Abstract>>
    +co()
    +destroy()
    +getSourceConfig()
    +getState()
    +gx()
    +setMap()
    +setOpacity()
    +setzIndex()
  }
  class CustomLayer {
  }
  class CoreGLCustomLayer {
    <<Abstract>>
    +co()
    +getSourceConfig()
    +getState()
    +setMap()
    +setzIndex()
  }
  class GLCustomLayer {
  }
  class CoreMapboxLayer {
    <<Abstract>>
    +co()
    +getSourceConfig()
    +getState()
  }
  class Mapbox {
  }
  class CoreVectorLayer {
    <<Abstract>>
    +add()
    +co()
    +destroy()
    +getAllOverlays()
    +getSourceConfig()
    +getState()
    +remove()
    +vi()
  }
  class VectorLayer {
    +clear()
    +getBounds()
    +has()
    +query()
    +setOptions()
  }
  class CoreLabelsLayer {
    <<Abstract>>
    +co()
    +destroy()
    +getSourceConfig()
    +getState()
    +uz()
    +v$()
    +vi()
    +Do()
    +IL()
  }
  class LabelsLayer {
    +add()
    +clear()
    +getAllOverlays()
    +getAllowCollision()
    +getCollision()
    +getOpacity()
    +getState()
    +getZooms()
    +getzIndex()
    +hide()
    +onAdd()
    +remove()
    +setAllowCollision()
    +setCollision()
    +setOpacity()
    +setTop()
    +setZooms()
    +setzIndex()
    +show()
    +to()
    +v$()
    +Kh()
    +_add()
    +_remove()
  }
  class Indoor {
    +bL()
    +cD()
    +co()
    +destroy()
    +emit()
    +forceRender()
    +gL()
    +getIntersect()
    +getIntersectPoly()
    +getMap()
    +getRingInRing()
    +getSourceConfig()
    +getState()
    +mD()
    +n$()
    +nD()
    +oZ()
    +onAdd()
    +setBar()
    +setBarOpt()
    +setRenderData()
    +setShowId()
    +showId()
    +uD()
    +update()
    +v$()
    +wL()
    +yD()
    +BT()
    +DT()
    +Do()
    +KI()
    +YR()
    +ZI()
    +ZT()
    +_getSelectedBuilding()
    +_getSelectedBuildingId()
    +_hideBar()
    +_hideLayer()
    +_showLabels()
  }
  class IndoorMap {
    +getMap()
    +getOpacity()
    +getSelectedBuilding()
    +getSelectedBuildingId()
    +hide()
    +hideFloorBar()
    +hideLabels()
    +setMap()
    +setOpacity()
    +setzIndex()
    +show()
    +showFloor()
    +showFloorBar()
    +showIndoorMap()
    +showLabels()
  }
  class CoreDistrictLayer {
    <<Abstract>>
    +co()
    +destroy()
    +getDistrictByContainerPos()
    +getLayerConfig()
    +getLayerOptions()
    +getSourceConfig()
    +getState()
    +reload()
    +yE()
  }
  class DistrictLayer {
    +getDistricts()
    +getStyle()
    +on()
    +onAdd()
    +setAdcode()
    +setDistricts()
    +setFitViewByAdcode()
    +setSOC()
    +setStyles()
  }
  class DistrictLayer-World {
  }
  class DistrictLayer-Country {
  }
  class DistrictLayer-Province {
  }
  class 3DTilesLayer {
  }
  class LayerGroup {
    +addLayer()
    +addLayers()
    +clearLayers()
    +eachLayer()
    +getLayers()
    +hasLayer()
    +hide()
    +on()
    +reload()
    +removeLayer()
    +removeLayers()
    +setMap()
    +setOptions()
    +show()
  }
Event <|-- HeatMap
Event <|-- Layer
Layer <|-- NebulaLayer
Layer <|-- SkyLayer
Layer <|-- CoreBuildings
CoreBuildings <|-- Buildings
Layer <|-- CoreImageLayer
CoreImageLayer <|-- ImageLayer
CoreImageLayer <|-- CanvasLayer
Layer <|-- RasterLayer
RasterLayer <|-- Mark
RasterLayer <|-- TileLayer
TileLayer <|-- TileLayer-Flexible
TileLayer <|-- TileLayer-Mark
TileLayer <|-- TileLayer-RoadNet
TileLayer <|-- TileLayer-Satellite
TileLayer <|-- TileLayer-WMS
TileLayer <|-- TileLayer-WMTS
TileLayer <|-- CoreMapboxVectorTileLayer
CoreMapboxVectorTileLayer <|-- MapboxVectorTileLayer
Layer <|-- CoreTraffic
CoreTraffic <|-- TileLayer-Traffic
Layer <|-- CoreCustomLayer
CoreCustomLayer <|-- CustomLayer
Layer <|-- CoreGLCustomLayer
CoreGLCustomLayer <|-- GLCustomLayer
Layer <|-- CoreMapboxLayer
CoreMapboxLayer <|-- Mapbox
Layer <|-- CoreVectorLayer
CoreVectorLayer <|-- VectorLayer
Layer <|-- CoreLabelsLayer
CoreLabelsLayer <|-- LabelsLayer
Layer <|-- Indoor
Indoor <|-- IndoorMap
TileLayer <|-- CoreDistrictLayer
CoreDistrictLayer <|-- DistrictLayer
DistrictLayer <|-- DistrictLayer-World
DistrictLayer <|-- DistrictLayer-Country
DistrictLayer <|-- DistrictLayer-Province
Event <|-- 3DTilesLayer
Event <|-- LayerGroup

注:AMap.TileLayer.Traffic 存在两个运行时分支——默认 WebGL/矢量渲染下它是 CoreTraffic 子类(vectortraffic 数据源);在 DOM 回退渲染下则退化为继承 TileLayer 的经典栅格路况图层。

致谢