地图 JSAPI 2.0

基础类

经纬度、像素、边界、大小、这些是地图 JSAPI 开发必须了解的基本类型

AMap.LngLat

经纬度坐标,用来描述地图上的一个点位置, 目前高德地图使用的是 GCJ-02 坐标,如果你采集的是 WGS84 坐标,请先进行坐标转换

new AMap.LngLat(lng: number, lat: number, noWrap: boolean)
参数说明:
lng (number) 经度值
lat (number) 纬度值
noWrap (boolean) 是否自动将经度值修正到 [-180,180] 区间内,缺省为false; noWrap 为false时传入 [190,30] ,会被自动修正为 [-170,30] , noWrap 为true时不会自动修正,可以用来进行跨日期限的覆盖物绘制
示例代码:
var lnglat = new AMap.LngLat(116, 39);
成员函数:
setLng(lng)
setLat(lat)
getLng()
getLat()
equals(another)
add(another, noWrap)
subtract(another, noWrap)
offset(E, N)
toString()
toArray()
distance()

AMap.Bounds

地物对象的经纬度矩形范围。

new AMap.Bounds(southWest: LngLat, northEast: LngLat)
参数说明:
southWest (LngLat) 西南角经纬度
northEast (LngLat) 东北角经纬度值
成员函数:
getSouthWest()
getNorthEast()
getNorthEast()
getNorthEast()
contains(obj)
getCenter()
toString()

AMap.Pixel

像素坐标,确定地图上的一个像素点。

new AMap.Pixel(x: number, y: number)
参数说明:
x (number)
y (number)
成员函数:
getX()
getY()
toString()
equals(point)

AMap.Size

地物对象的像素尺寸

new AMap.Size(width: number, height: number)
参数说明:
width (number) 宽度
height (number) 高度
成员函数:
getWidth()
getHeight()
toString()

事件

地图 JSAPI 具有完备的事件体系,在 2.0 版本中所有类型的实例均使用 on/off 方法进行时间的绑定和移除

Event

JSAPI 的所有类型(地图、图层、覆盖物等)都实现了事件接口,用于给当前实例对象绑定、移除、清理事件回调

示例代码:
// 声明点击事件的回调函数
function onClick(e){
    console.log(e);
}
// 给地图实例绑定点击事件 onClick
map.on('click', onClick);

// 移除地图实例的 onClick 事件绑定
map.off('click', onClick);

// 清除地图实例上的所有 click 事件绑定
map.clearEvents('click');
成员函数:
on(type, function, context, once)
off(type, function, context)
hasEvents(type, function, context)
clearEvents(type)
emit(type, data)

地图

AMap.Map

地图对象类,封装了地图的属性设置、图层变更、事件交互等接口的类。
相关示例

new AMap.Map(div: (String | HTMLDivElement), opts: MapOptions)
参数说明:
div ((String | HTMLDivElement)) 构造一个地图对象,参数container中传入地图容器DIV的ID值或者DIV对象, opts地图初始化参数对象,参数详情参看MapOptions列表。注意:地图容器在创建之前必须拥有实际大小,否则可能出现底图无法渲染的问题。
opts (MapOptions) 地图初始化参数
Name Description
opts.center ([Number, Number] | LngLat) 初始中心经纬度
opts.zoom Number 地图显示的缩放级别,可以设置为浮点数;若center与level未赋值,地图初始化默认显示用户所在城市范围。
opts.rotation Number (default 0) 地图顺时针旋转角度,取值范围 [0-360] ,默认值:0
opts.pitch Number (default 0) 俯仰角度,默认 0,最大值根据地图当前 zoom 级别不断增大,2D地图下无效 。
opts.viewMode String (default '2D') 地图视图模式, 默认为‘2D’,可选’3D’,选择‘3D’会显示 3D 地图效果。
opts.features Array<String> (default ['bg','point','road','building']) 设置地图上显示的元素种类, 支持'bg'(地图背景)、'point'(POI点)、'road'(道路)、'building'(建筑物)
opts.layers Array<Layer> 地图图层数组,数组可以是图层 中的一个或多个,默认为普通二维地图。 当叠加多个 图层 时,普通二维地图需通过实例化一个TileLayer类实现。 如果你希望创建一个默认底图图层,使用 AMap.createDefaultLayer()
opts.zooms [Number, Number] (default [2,20]) 地图显示的缩放级别范围, 默认为 [2, 20] ,取值范围 [2 ~ 20]
opts.dragEnable Boolean (default true) 地图是否可通过鼠标拖拽平移, 默认为 true。此属性可被 setStatus/getStatus 方法控制
opts.zoomEnable Boolean (default true) 地图是否可缩放,默认值为 true。此属性可被 setStatus/getStatus 方法控制
opts.jogEnable Boolean (default true) 地图是否使用缓动效果,默认值为true。此属性可被setStatus/getStatus 方法控制
opts.pitchEnable Boolean (default true) 是否允许设置俯仰角度, 3D 视图下为 true, 2D 视图下无效。
opts.rotateEnable Boolean (default true) 地图是否可旋转, 图默认为true
opts.animateEnable Boolean (default true) 地图平移过程中是否使用动画(如调用panBy、panTo、setCenter、setZoomAndCenter等函数, 将对地图产生平移操作, 是否使用动画平移的效果), 默认为true, 即使用动画
opts.keyboardEnable Boolean (default true) 地图是否可通过键盘控制, 默认为true, 方向键控制地图平移,"+"和"-"可以控制地图的缩放, Ctrl+“→”顺时针旋转,Ctrl+“←”逆时针旋转。此属性可被setStatus/getStatus 方法控制
opts.doubleClickZoom Boolean (default true) 地图是否可通过双击鼠标放大地图, 默认为true。此属性可被setStatus/getStatus 方法控制
opts.scrollWheel Boolean (default true) 地图是否可通过鼠标滚轮缩放浏览,默认为true。此属性可被setStatus/getStatus 方法控制
opts.touchZoom Boolean (default true) 地图在移动终端上是否可通过多点触控缩放浏览地图,默认为true。关闭手势缩放地图,请设置为false。
opts.touchZoomCenter Boolean (default 1) 可缺省,当touchZoomCenter=1的时候,手机端双指缩放的以地图中心为中心,否则默认以双指中间点为中心。
opts.showLabel Boolean (default true) 是否展示地图文字和 POI 信息。
opts.defaultCursor String 地图默认鼠标样式。参数 defaultCursor 应符合 CSS 的 cursor 属性规范。
opts.isHotspot Boolean 是否开启地图热点和标注的 hover 效果。PC端默认是true, 移动端默认是 false。
opts.mapStyle String 设置地图的显示样式,目前支持两种地图样式: 第一种:自定义地图样式,如 "amap://styles/d6bf8c1d69cea9f5c696185ad4ac4c86" 可前往地图自定义平台定制自己的个性地图样式; 第二种:官方样式模版,如"amap://styles/grey"。 其他模版样式及自定义地图的使用说明见开发指南
opts.wallColor (String | Array<Number>) 地图楼块的侧面颜色
opts.roofColor (String | Array<Number>) 地图楼块的顶面颜色
opts.showBuildingBlock Boolean (default true) 是否展示地图 3D 楼块,默认 true
opts.showIndoorMap Boolean (default false) 是否自动展示室内地图,默认是 false
opts.skyColor (String | Array<Number>) 天空颜色,3D 模式下带有俯仰角时会显示
opts.mask Array<Number> 为 Map 实例指定掩模的路径,各图层将只显示路径范围内图像,3D视图下有效。 格式为一个经纬度的一维、二维或三维数组。
相关示例
一维数组时代表一个普通多边形路径,如:
[lng1,lat1] , [lng2,lat2] , [lng3,lat3] ] 二维数组时代表一个带洞的多边形路径,如:
[ [lng4,lat4] , [lng5,lat5] , [lng6,lat6] ], [ [lng7,lat7] , [lng8,lat8] , [lng9,lat9] ] ] 三维数组时代表多个多边形路径,如:
[ [ [lng1,lat1] , [lng2,lat2] , [lng3,lat3] ], // 一个普通多边形 [ //一个带洞多边形 [ [lng4,lat4] , [lng5,lat5] , [lng6,lat6] ], [ [lng7,lat7] , [lng8,lat8] , [lng9,lat9] ] ] ]
示例代码:
var map = new AMap.Map('map', {
  viewMode: '3D',
  center: [116.397083, 39.874531],
  layers: [AMap.createDefaultLayer()],  // layers 字段为空或者不赋值将会自动创建默认底图。
  zoom: 12,
})
成员函数:
setCenter(center, immediately, duration?)
setZoomAndCenter(zoom, center, immediately, duration?)
getBounds()
getCenter()
setZoom(zoom, immediately, duration?)
getZoom(digits)
zoomIn()
zoomOut()
getPitch()
setPitch(Pitch, immediately, duration?)
getContainer()
getRotation()
getSize()
setRotation(rotation, immediately, duration?)
addLayer(layer)
setBounds(bounds)
panTo(lnglat, duration?)
panBy(x, y, duration?)
removeLayer(layer)
setLayers(layers)
getLayers()
getStatus()
setStatus(status)
add(features)
getDefaultCursor()
setDefaultCursor(cursor)
remove(features)
destroy()
getLimitBounds()
setLimitBounds()
lngLatToCoords(lnglat)
clearLimitBounds()
coordsToLngLat(coords)
getZooms()
lngLatToContainer(lnglat)
containerToLngLat(pixel)
coordToContainer(coord)
containerToCoord(pixel)
pixelToLngLat(pixel, zoom?)
lngLatToPixel(lnglat, zoom?)
getResolution()
getScale(dpi)
getCity(getCityCallBack, lnglat)
setCity(cityName)
setFitView(overlays, immediately, avoid, maxZoom)
addControl(control)
removeControl(control)
setMapStyle(value)
getMapStyle()
getAllOverlays(type?)
clearMap()
clearInfoWindow()
getFeatures()
setFeatures(features)
事件:
mousemove
zoomchange
mapmove
mousewheel
zoomstart
mouseover
mouseout
dblclick
click
zoomend
moveend
mouseup
mousedown
rightclick
movestart
dragstart
dragging
dragend
hotspotout
hotspotover
touchstart
complete
hotspotclick
touchmove
touchend
resize

MapsEvent

此对象用于表示地图、覆盖物、叠加层上的各种鼠标事件返回,包含以下字段:

Type: Object

属性说明:
lnglat (LngLat) : 发生事件时光标所在处的经纬度坐标。
pixel (Pixel) : 发生事件时光标所在处的像素坐标。
type (string) : 事件类型。
target (Object) : 发生事件的目标对象,不同类型返回target不同。例如,事件对象是Marker,则target表示目标对象为Marker,事件对象是其他,则随之改变。

高德官方图层

由高德官方提供数据或图像的地图图层

AMap.TileLayer

切片图层类,该类为基础类。
相关示例

new AMap.TileLayer(opts: TileLayerOptions)
参数说明:
opts (TileLayerOptions)
Name Description
opts.tileUrl String 切片取图地址 如:' https://abc{0,1,2,3}.amap.com/tile?x=[x]&y=[y]&z=[z] ' [x] 、 [y] 、 [z] 分别替代切片的xyz。
opts.zooms [Number, Number] (default [2,20]) 支持的缩放级别范围,默认范围 [2-20]
opts.dataZooms [Number, Number] (default [2,20]) 数据支持的缩放级别范围,默认范围 [2-20]
opts.opacity Number (default 1) 透明度,默认 1
opts.visible Boolean (default true) 是否显示,默认 true
opts.zIndex Number (default 4) 图层叠加的顺序值,1 表示最底层。默认 zIndex:4
opts.tileSize Number (default 256) 切片大小,取值: 256,表示切片大小为256 256, 128,表示切片大小为128 128, 64,表示切片大小为64*64。默认值为256
成员函数:
setTileUrl(url)
getOpacity()
reload()
getzIndex()
hide()
setzIndex(zIndex)
getOptions()
setOpacity(opacity)
show()
getZooms()
setZooms(zooms)
事件:
complete

AMap.TileLayer.Traffic

实时交通图层类,继承自TileLayer。
相关示例

new AMap.TileLayer.Traffic(opts: TrafficLayerOptions)
参数说明:
opts (TrafficLayerOptions)
Name Description
opts.autoRefresh Boolean 是否自动更新数据,默认开启
opts.interval Number 自动更新数据的间隔毫秒数,默认 180ms
opts.zooms [Number, Number] (default [2,20]) 支持的缩放级别范围,默认范围 [2-20]
opts.opacity Number (default 1) 透明度,默认 1
opts.visible Boolean (default true) 是否显示,默认 true
opts.zIndex Number (default 4) 图层叠加的顺序值,1 表示最底层。默认 zIndex:4
opts.tileSize Number (default 256) 切片大小,取值: 256,表示切片大小为256 256, 128,表示切片大小为128 128, 64,表示切片大小为64*64。默认值为256
成员函数:
stopFresh()
show()
setZooms(zooms)
getZooms()
getzIndex()
hide()
getOptions()
setOpacity(opacity)
getOpacity()
setzIndex(zIndex)
事件:
complete

AMap.TileLayer.Satellite

卫星图层类,继承自 TileLayer。 相关示例

new AMap.TileLayer.Satellite(opts: SatelliteLayerOptions)
参数说明:
opts (SatelliteLayerOptions)
Name Description
opts.zooms [Number, Number] (default [2,20]) 支持的缩放级别范围,默认范围 [2-20]
opts.opacity Number (default 1) 透明度,默认 1
opts.visible Boolean (default true) 是否显示,默认 true
opts.zIndex Number (default 4) 图层叠加的顺序值,1 表示最底层。默认 zIndex:4
opts.tileSize Number (default 256) 切片大小,取值:
256,表示切片大小为256 256,
128,表示切片大小为128
128,
64,表示切片大小为64*64。默认值为256
成员函数:
getzIndex()
destroy()
getOptions()
hide()
setzIndex(zIndex)
show()
setZooms(zooms)
getOpacity()
setOpacity(opacity)
getZooms()
事件:
complete

AMap.TileLayer.RoadNet

路网图层,展示道路信息
相关示例

new AMap.TileLayer.RoadNet(opts: RoadnetLayerOptions)
参数说明:
opts (RoadnetLayerOptions)
Name Description
opts.zooms [Number, Number] (default [2,20]) 支持的缩放级别范围,默认范围 [2-20]
opts.opacity Number (default 1) 透明度,默认 1
opts.visible Boolean (default true) 是否显示,默认 true
opts.zIndex Number (default 4) 图层叠加的顺序值,1 表示最底层。默认 zIndex:4
opts.tileSize Number (default 256) 切片大小,取值:
256,表示切片大小为256 256,
128,表示切片大小为128
128,
64,表示切片大小为64*64。默认值为256
成员函数:
show()
hide()
setzIndex(zIndex)
getOpacity()
getzIndex()
getOptions()
setOpacity(opacity)
getZooms()
setZooms(zooms)
destroy()
事件:
complete

AMap.Buildings

建筑楼块 3D 图层
相关示例

new AMap.Buildings(opts: BuildingLayerOpts, styleOpts: BuildingStyleOptions)
参数说明:
opts (BuildingLayerOpts)
Name Description
opts.wallColor (Array<String> | String) 楼块侧面颜色,支持 rgba、rgb、十六进制等
opts.roofColor (Array<String> | String) 楼块顶面颜色,支持 rgba、rgb、十六进制等
opts.heightFactor Number 楼块的高度系数因子,默认为 1,也就是正常高度
opts.BuildingStyleOptions BuildingStyleOptions 楼块的围栏和样式设置
opts.zooms [Number, Number] (default [2,20]) 图层缩放等级范围,默认 [2, 20]
opts.opacity Number (default 1) 图层透明度,默认为 1
opts.visible Boolean (default true) 图层是否可见,默认为 true
opts.zIndex Number (default 11) 图层的层级,默认为 11
styleOpts (BuildingStyleOptions) setStyle 方法使用的参数
Name Description
styleOpts.hideWithoutStyle Boolean 是否隐藏围栏之外的楼块
styleOpts.areas Array<Area> 围栏信息数组
styleOpts.areas.rejectTexture Boolean 是否隐藏围栏之外的楼块
styleOpts.areas.visible Boolean 围栏信息数组
styleOpts.areas.path Array<Number> 围栏经纬度列表
styleOpts.areas.color1 (Array<String> | String) 围栏区域内楼块顶面颜色,支持 rgba、rgb、十六进制等
styleOpts.areas.color2 (Array<String> | String) 围栏区域内楼块侧面颜色,支持 rgba、rgb、十六进制等
styleOpts.areas Area
示例代码:
var buildingLayer = new AMap.Buildings({
    heightFactor: 1,
    wallColor: [255, 0, 0, 1],
    roofColor: 'rgba(0,0,255,0.5)',
});
map.addLayer(buildingLayer);
成员函数:
setStyle(styleOptions)
hide()
show()
destroy()
setZooms(zooms)
setzIndex(zIndex)
getzIndex()
getOptions()
getZooms()
getOpacity()
setOpacity(opacity)

AMap.DistrictLayer

为了满足基于行政区块的数据可视化、行政区边界展示等开发需求,我们通过AMap.DistrictLayer插件提供了一组简易行政区图层,包括:
世界简易行政区图层 AMap.DistrictLayer.World
相关示例
国家简易行政区图层 AMap.DistrictLayer.Country
相关示例
省市简易行政区图层 AMap.DistrictLayer.Province
相关示例

new AMap.DistrictLayer(opts: DistrictLayerOptions)
参数说明:
opts (DistrictLayerOptions) 图层初始化参数
Name Description
opts.adcode String 行政区的编码 adcode与省市行政区对照表
opts.SOC String (default 'CHN') 设定显示的国家 SOC 国家代码、名称、Bounds对照表下载
opts.depth Number (default 0) 设定数据的层级深度,depth为0的时候只显示国家面,depth为1的时候显示省级, 当国家为中国时设置depth为2的可以显示市一级
opts.zIndex Number (default 80) 图层的层级,默认为 80
opts.opacity Number (default 1) 图层透明度,默认为 1
opts.visible Boolean (default true) 图层是否可见,默认为 true
opts.zooms [number, number] (default [2,20]) 图层缩放等级范围,默认 [2, 20]
opts.styles DistrictLayerStyle 为简易行政区图设定各面的填充颜色和描边颜色。 styles各字段的值可以是颜色值,也可以是一个返回颜色值* 的回调函数function。支持的颜色格式有:
1. #RRGGBB,如:'#FFFFFF'
2. rgba(),如:'rgba(255,255,255,1)'
3. rgb(),如:'rgb(255,255,255)'
4. [r,g,b,a] ,如: [1,1,1,1]
5. '',代表不赋予颜色
opts.styles.stroke-width Number (default 1) 描边线宽
opts.styles.coastline-stroke (Array<String> | String | Function) (default [0.18,0.63,0.94,1]) 海岸线颜色
opts.styles.nation-stroke (Array<String> | String | Function) (default [0.35,0.35,0.35,1]) 国境线颜色
opts.styles.province-stroke (Array<String> | String | Function) (default [0.5,0.5,0.5,1]) 省界颜色
opts.styles.city-stroke (Array<String> | String | Function) (default [0.7,0.7,0.7,1]) 城市界颜色
opts.styles.county-stroke (Array<String> | String | Function) (default [0.85,0.85,0.85,1]) 区/县界颜色
opts.styles.fill (Array<String> | String | Function) (default [1,1,1,1]) 填充色
成员函数:
setSOC(SOC)
setDistricts(adcodes)
getDistricts()
setStyles(styles)
getStyles()
setZooms(zooms)
getOptions()
getOpacity()
getZooms()
getzIndex()
setOpacity(opacity)
hide()
setAdcode(adcodes)
show()
setzIndex(zIndex)

AMap.IndoorMap

室内图层,用于在适当级别展示室内地图,并提供显示商铺tip、切换楼层等功能。

new AMap.IndoorMap(opts: IndoorMapOptions)
参数说明:
opts (IndoorMapOptions)
Name Description
opts.zIndex Number 室内图层叠加的顺序值
opts.opacity Number 图层的透明度,取值范围 [0,1]
opts.cursor String 指定鼠标悬停到店铺面时的鼠标样式
opts.hideFloorBar Boolean 是否隐藏楼层切换控件,默认值:false
示例代码:
用法一:创建独立的室内图层
var indoorMap = new AMap.IndoorMap({
 zIndex: 1000, // 设置室内图层叠加顺序
 opacity: 1, // 设置室内图层透明度
});
var map = new AMap.Map('mapDiv', {
 showIndoorMap: false, //隐藏地图默认的室内地图图层
 layers: [indoorMap, AMap.createDefaultLayer()] // 添加室内等图层
});
indoorMap.showIndoorMap('B0FFFAB6J2'); // 显示指定 POI 室内信息

用法二:调用默认室内图层
var map = new AMap.Map('mapDiv',{
 showIndoorMap: true, //显示地图默认的室内地图图层
});
map.on('indoor_create',function(){
 map.indoorMap.showIndoorMap('B000A8VT15',4); // 显示指定 POI 室内信息
})
成员函数:
showIndoorMap(indoorid, floor, shopid)
showFloor(floor)
show()
hide()
setMap(map)
setzIndex(index)
showFloorBar()
hideFloorBar()
setOpacity(opacity)
getOpacity()
showLabels()
hideLabels()
getSelectedBuildingId()
getSelectedBuilding()

AMap.VectorLayer

矢量覆盖物图层,可添加/删除/查询矢量覆盖物(Polygon/Polyline/CircleMarker/Ellipse/RectAngle/BezierCurve)的图层

new AMap.VectorLayer(opts: Object)
参数说明:
opts (Object)
Name Description
opts.visible boolean (default true) 是否显示
示例代码:
var layer = new AMap.VectorLayer();
map.add(layer);
var circle = new AMap.circle({center: [116.4, 39.9], radius:1000});
layer.add(circle);
成员函数:
add(vectors)
remove(vectors)
show()
hide()
has
clear()
setOptions(opt)
query(geometry)
getBounds()

行业标准图层

符合 OGC 标准或者行业通行规范的的图层类型

AMap.TileLayer.WMS

用于加载OGC标准的WMS地图服务的一种图层类,仅支持EPSG3857坐标系统的WMS图层。
查看 WMS的OGC标准

new AMap.TileLayer.WMS(opts: WMSLayerOptions)
参数说明:
opts (WMSLayerOptions) 默认图层参数
Name Description
opts.url String wmts服务的url地址,如:' https://services.arcgisonline.com/arcgis/rest/services/'+ 'Demographics/USA_Population_Density/MapServer/WMTS/'
opts.blend Boolean 地图级别切换时,不同级别的图片是否进行混合,如图层的图像内容为部分透明请设置为false
opts.param Object OGC标准的WMS地图服务的GetMap接口的参数,包括VERSION、LAYERS、STYLES、FORMAT、TRANSPARENT等,
CRS、BBOX、REQUEST、WIDTH、HEIGHT等参数请勿添加,例如:
{
LAYERS: 'topp:states',
VERSION:'1.3.0',
FORMAT:'image/png'
}
opts.zooms [Number, Number] (default [2,20]) 支持的缩放级别范围,默认范围 [2-20]
opts.opacity Number (default 1) 透明度,默认 1
opts.visible Boolean (default true) 是否显示,默认 true
opts.zIndex Number (default 4) 图层叠加的顺序值,1 表示最底层。默认 zIndex:4
成员函数:
setParams(params)
getParams()
setUrl(url)
setUrl(url)
hide()
setOpacity(opacity)
show()
setZooms(zooms)
setzIndex(zIndex)
getzIndex()
getOptions()
getZooms()
getOpacity()
事件:
complete

AMap.TileLayer.WMTS

用于加载 OGC 标准的 WMTS 地图服务的一种图层类,仅支持 EPSG3857 坐标系统的 WMTS 图层
查看 WMTS 标准
相关示例

new AMap.TileLayer.WMTS(opts: WMTSLayerOptions)
参数说明:
opts (WMTSLayerOptions) 默认图层参数
Name Description
opts.url String wms服务的url地址,如' https://ahocevar.com/geoserver/wms '
opts.blend Boolean 地图级别切换时,不同级别的图片是否进行混合,如图层的图像内容为部分透明请设置为false
opts.param Object OGC标准的WMTS地图服务的GetTile接口的参数,包括Version、Layer、 Style、Format、Service等,TileMatrixSet、TileRow、TileCol、Request等参数请勿添加,例如:
{
Layer: '0',
Version:'1.0.0',
Format: 'image/png'
}
opts.zooms [Number, Number] (default [2,20]) 支持的缩放级别范围,默认范围 [2-20]
opts.opacity Number (default 1) 透明度,默认 1
opts.visible Boolean (default true) 是否显示,默认 true
opts.zIndex Number (default 4) 图层叠加的顺序值,1 表示最底层。默认 zIndex:4
成员函数:
setParams(params)
getParams()
getUrl()
setUrl(url)
setOpacity(opacity)
hide()
getOpacity()
setzIndex(zIndex)
getzIndex()
getOptions()
getZooms()
setZooms(zooms)
show()
事件:
complete

自有数据图层

用于加载展示开发者自己拥有的数据或者图像的图层类型

AMap.HeatMap

热力图,基于第三方heatmap.js实现,以特殊高亮的形式显示数据密集程度。根据密集程度的不同,图上会呈现不同的颜色,以直观的形式展现数据密度。API引用了heatmap.js最新版本v2.0,v2.0基于新的渲染模型,具有更高的渲染效率和更强的性能。支持chrome、firefox、safari、ie9及以上浏览器。

new AMap.HeatMap(map: Map, opts: HeatMapOptions)
参数说明:
map (Map) 要叠加热力图的地图对象
opts (HeatMapOptions) 热力图属性配置
Name Description
opts.radius number 热力图中单个点的半径,默认:30,单位:pixel
opts.gradient object 热力图的渐变区间,热力图按照设置的颜色及间隔显示热力图,例{0.4:'rgb(0, 255, 255)',0.85:'rgb(100, 0, 255)',},其中 key 表示间隔位置,取值范围: [0,1] ,value 为颜色值。默认:heatmap.js标准配色方案
opts.opacity array 热力图透明度区间数组,取值范围 [0,1] ,0表示完全透明,1表示不透明,默认: [0,1]
opts.zooms array 支持的缩放级别范围,取值范围 [3-20] ,默认: [3,20]
opts.visible boolean 是否可见
opts.zIndex number 热力图层在地图上的叠加顺序,默认 130
opts.3d HeatMap3DOptions 3D热力图属性
opts.3d.heightScale number 高度缩放因子,表示在单位高度上的缩放比例, 默认为 1
opts.3d.heightBezier array 影响高度平滑度的贝塞尔曲线因子,默认 [0.5, 0, 1, 0.5] ,
opts.3d.gridSize number 取样精度,越小越平滑,越大性能越高
示例代码:
var heatmap;
var points = [
   {"lng":116.191031,"lat":39.988585,"count":10},
   {"lng":116.389275,"lat":39.925818,"count":11},
   {"lng":116.287444,"lat":39.810742,"count":12},
   {"lng":116.481707,"lat":39.940089,"count":13},
   {"lng":116.410588,"lat":39.880172,"count":14},
   {"lng":116.394816,"lat":39.91181,"count":15},
   {"lng":116.416002,"lat":39.952917,"count":16},
];
// 加载热力图插件
map.plugin(["AMap.HeatMap"],function(){
   // 在地图对象叠加热力图
   heatmap = new AMap.Heatmap({map:map});
   // 设置热力图数据集
   heatmap.setDataSet({data:points,max:100});
});
成员函数:
getOptions()
setMap(map)
hide()
show()
setzIndex(zIndex)
getzIndex()
addDataPoint(longitude, latitude, count)
setDataSet(dataset)
getDataSet()
setOptions(options)
getMap()

AMap.LabelsLayer

标注层

new AMap.LabelsLayer(opts: LabelsLayerOptions)
参数说明:
opts (LabelsLayerOptions) 标注层参数
Name Description
opts.visible boolean 标注层是否可见,默认值:true
opts.zIndex number 标注层与其它图层的叠加顺序,默认值:120
opts.opacity number 标注层透明度
opts.collision boolean 标注层内的标注是否互相避让,默认值: true
opts.allowCollision boolean 标注层内的标注是否允许其它标注层对它避让,默认值:false,开启该功能可实现地图标注对 LabelMarker 的避让
opts.zooms Array<number> 标注层展示层级范围
示例代码:
// 创建一个标注层实例
var labelsLayer = new AMap.LabelsLayer({
     collision: true,
     opacity: 1,
     zIndex: 120,
     allowCollision: true,
});
// 将标注层添加到地图上
map.add(labelsLayer);
成员函数:
getCollision()
setCollision(collision)
getAllowCollision()
setAllowCollision(allowCollision)
getOpacity()
setOpacity(opacity)
getZooms()
setZooms(zooms)
getzIndex()
setzIndex(zIndex)
add(labelMarkers)
remove(labelMarkers)
clear()
show()
hide()
getAllOverlays()

AMap.CustomLayer

自定义图层是一种完全由开发者来指定绘制方法的图层
相关示例

new AMap.CustomLayer(canvas: HTMLCanvasElement, opts: CustomLayerOption)
参数说明:
canvas (HTMLCanvasElement) canvas 对象
opts (CustomLayerOption) 默认图层参数
Name Description
opts.render Function 绘制函数,初始化完成时候,开发者需要给该图层设定render方法,
该方法需要实现图层的绘制,API会在合适的时机自动调用该方法
opts.zooms [Number, Number] (default [2,20]) 图层缩放等级范围,默认 [2, 20]
opts.opacity Number (default 1) 图层透明度,默认为 1
opts.visible Boolean (default true) 图层是否可见,默认为 true
opts.zIndex Number (default 120) 图层的层级,默认为 120
示例代码:
var cLayer = new AMap.CustomLayer(canvas, {
     zooms: [2, 18],
     zIndex: 120,
     render() {
         // 对 canvas 进行绘制
     }
})
成员函数:
getOpacity()
setzIndex(zIndex)
setzIndex
setZooms(zooms)
getZooms()
setOpacity(opacity)
getzIndex()
hide()
getOptions()
show()
setMap

AMap.TileLayer.Flexible

灵活切片图层,继承自AMap.TileLayer,开发者可通过构造时传入给其传入createTile字段来指定每一个切片的内容
相关示例

new AMap.TileLayer.Flexible(opts: FlexibleLayerOptions)
参数说明:
opts (FlexibleLayerOptions)
Name Description
opts.cacheSize Number 缓存瓦片数量
opts.createTile function (x, y, z, success, fail) 由开发者实现,由API自动调用,xyz分别为切片横向纵向编号和层级,切片大小 256。假设每次创建的贴片为A(支持img或者canvas),当创建或者获取成功时请回调success(A),不需要显示或者失败时请回调fail()
opts.zooms [Number, Number] (default [2,20]) 支持的缩放级别范围,默认范围 [2-20]
opts.opacity Number (default 1) 透明度,默认 1
opts.visible Boolean (default true) 是否显示,默认 true
opts.zIndex Number (default 4) 图层叠加的顺序值,1 表示最底层。默认 zIndex:4
opts.tileSize Number (default 256) 切片大小,取值:
256,表示切片大小为256 256,
128,表示切片大小为128
128,
64,表示切片大小为64*64。默认值为256
成员函数:
getZooms()
setOpacity(opacity)
getOpacity()
setZooms(zooms)
setzIndex(zIndex)
getzIndex()
getOptions()
destroy()
hide()
show()
事件:
complete

AMap.ImageLayer

图片图层类,用户可以将一张静态图片作为图层添加在地图上,图片图层会随缩放级别而自适应缩放。
相关示例

new AMap.ImageLayer(opts: ImageLayerOptions)
参数说明:
opts (ImageLayerOptions) 传入默认参数列表
Name Description
opts.url String 图片地址链接
opts.zooms [Number, Number] (default [2,20]) 图层缩放等级范围,默认 [2, 20]
opts.bounds ([Number, Number, Number, Number] | Bounds) 图片的范围大小经纬度,如果传递数字数组类型: [minlng,minlat,maxlng,maxlat]
opts.opacity Number (default 1) 图层透明度,默认为 1
opts.visible Boolean (default true) 图层是否可见,默认为 true
opts.zIndex Number (default 6) 图层的层级,默认为 6
示例代码:
var imageLayer = new AMap.ImageLayer({
     url: 'https://amappc.cn-hangzhou.oss-pub.aliyun-inc.com/lbs/static/img/dongwuyuan.jpg',
     bounds: new AMap.Bounds(
         [116.327911, 39.939229],
         [116.342659, 39.946275]
     ),
     zooms: [10, 18]
 });
成员函数:
getImageUrl()
setImageUrl(url)
getBounds()
setBounds()
getOptions()
getzIndex()
setzIndex(zIndex)
getOpacity()
setOpacity(opacity)
setZooms(zooms)
show()
hide()
getZooms()
事件:
complete

AMap.CanvasLayer

Canvas图层类,用户可以将一个 Canvas 作为图层添加在地图上,Canvas图层会随缩放级别而自适应缩放。
相关示例

new AMap.CanvasLayer(opts: ImageLayerOptions)
参数说明:
opts (ImageLayerOptions) 传入默认参数列表
Name Description
opts.canvas HTMLCanvasElement Canvas DOM 对象
opts.zooms [Number, Number] (default [2,20]) 图层缩放等级范围,默认 [2, 20]
opts.bounds ([Number, Number, Number, Number] | Bounds) canvas 的范围大小经纬度, 如果传递数字数组类型: [minlng,minlat,maxlng,maxlat]
opts.opacity Number (default 1) 图层透明度,默认为 1
opts.visible Boolean (default true) 图层是否可见,默认为 true
opts.zIndex Number (default 6) 图层的层级,默认为 6
成员函数:
setCanvas(canvas)
getElement()
getBounds()
getBounds()
getzIndex()
setzIndex(zIndex)
getOpacity()
setOpacity(opacity)
getOptions()
getZooms()
setZooms(zooms)
show()
hide()

点标记

用于在地图上添加点状地图要素的类型

AMap.Marker

点标记

new AMap.Marker(opts: MarkerOptions)
参数说明:
opts (MarkerOptions) 点标记参数
Name Description
opts.map Map 要显示该marker的地图对象
opts.position (Vector | LngLat) 点标记在地图上显示的位置
opts.icon (Icon | string) 在点标记中显示的图标。可以传一个图标地址,也可以传Icon对象。有合法的content内容设置时,此属性无效。
opts.content (string | HTMLElement) 点标记显示内容。可以是HTML要素字符串或者HTML DOM对象。content有效时,icon属性将被覆盖。
opts.title string 鼠标滑过点标记时的文字提示。不设置则鼠标滑过点标无文字提示。
opts.visible boolean 点标记是否可见,默认值:true
opts.zIndex number 点标记的叠加顺序。地图上存在多个点标记叠加时,通过该属性使级别较高的点标记在上层显示,默认zIndex:12
opts.offset (Vector | Pixel) 点标记显示位置偏移量,默认值为 [0,0] 。Marker指定position后,默认以marker左上角位置为基准点(若设置了anchor,则以anchor设置位置为基准点),对准所给定的position位置,若需使marker指定位置对准在position处,需根据marker的尺寸设置一定的偏移量。
opts.anchor (string | Vector) 设置点标记锚点,可选值:'top-left','top-center','top-right', 'middle-left', 'center', 'middle-right', 'bottom-left', 'bottom-center', 'bottom-right' 相关示例
opts.angle number 点标记的旋转角度,,广泛用于改变车辆行驶方向。默认值:0
opts.clickable boolean 点标记是否可点击,默认值: true
opts.draggable boolean 设置点标记是否可拖拽移动,默认值:false
opts.bubble boolean 事件是否冒泡,默认为 false
opts.zooms Vector 点标记显示的层级范围,超过范围不显示。默认值:zooms: [2, 20]
opts.cursor string 指定鼠标悬停时的鼠,默认值:'pointer'
opts.topWhenClick boolean 鼠标点击时marker是否置顶,默认false ,不置顶
opts.label object 添加文本标注
opts.label.content string 文本标注的内容
opts.label.offset (Pixel | Vector | Array<number>) 为偏移量。如设置了 direction,以 direction 方位为基准点进行偏移。
opts.label.direction string 文本标注方位 可选值:'top'|'right'|'bottom'|'left'|'center',默认值: 'right'。
opts.extData any 用户自定义属 ,支持JavaScript API任意数据类型,如 Marker的id等。可将自定义数据保存在该属性上,方便后续操作使用。
示例代码:
var marker = new AMap.Marker({
    position: new AMap.LngLat(116.397428, 39.90923),
    icon: 'https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png',
    anchor: 'bottom-center',
});
map.add(marker);
成员函数:
getTitle()
setTitle(title)
getIcon()
setIcon(icon)
getLabel()
setLabel(opts)
getClickable()
setClickable(clickable)
getDraggable()
setDraggable(draggable)
getTop()
setTop(isTop)
getCursor()
setCursor(cursor)
getExtData()
setExtData(extData)
remove()
moveTo(targetPosition, opts)
moveAlong(path, opts)
startMove()
stopMove()
pauseMove()
resumeMove()
setSize(size)
getzIndex()
setzIndex(zIndex)
getOptions()
getContent()
add(map)
getAngle()
setOffset(offset)
setContent(content)
getBounds()
getOffset()
Marker(anchor)
getMap()
getAnchor()
setPosition(position)
getPosition()
hide()
show()
setMap(map)
addTo(map)
setAngle(angle)
getSize()
事件:
dragstart
touchmove
click
dblclick
rightclick
mousemove
mouseover
mouseout
mousedown
mouseup
dragging
dragend
moving
moveend
touchend
movealong
touchstart

AMap.Text

文本标记

new AMap.Text(opts: TextOptions)
参数说明:
opts (TextOptions) 文本参数
Name Description
opts.map Map 要显示该marker的地图对象
opts.position (Vector | LngLat) 点标记在地图上显示的位置
opts.text LabelOptions 标记显示的文本内容
opts.title string 鼠标滑过点标记时的文字提示
opts.visible boolean 点标记是否可见,默认为true
opts.zIndex number 点标记的叠加顺序
opts.offset (Vector | Pixel) 点标记显示位置偏移量,默认值 [0, 0] 。 图解说明
opts.anchor (string | Vector) 设置点标记锚点。默认值:'center'。可选值:'top-left'|'top-center'|'top-right'|'middle-left'|'center'|'middle-right'|'bottom-left'|'bottom-center'|'bottom-right'
opts.angle number 点标记的旋转角度。默认值:0 。注:angle属性是使用CSS3来实现的,支持IE9及以上版本
opts.clickable boolean 点标记是否可点击。默认值: true
opts.draggable boolean 设置点标记是否可拖拽移动。默认值:false
opts.bubble boolean 事件是否冒泡,默认值:false
opts.zooms Vector 点标记显示的层级范围,超过范围不显示。默认值:zooms: [2, 20] 。
opts.cursor string 指定鼠标悬停时的鼠标样式。
opts.topWhenClick boolean 鼠标点击时marker是否置顶,默认值: false
opts.extData any 用户自定义属性 ,支持JavaScript API任意数据类型,如 Marker的id等。可将自定义数据保存在该属性上,方便后续操作使用。
opts.style object 设置文本样式,Object同css样式表,如:{'background-color':'red'}
示例代码:
var text = new AMap.Text({
    position: new AMap.LngLat(116.397428, 39.90923),
    anchor: 'bottom-center',
    text: '文本标记',
    style: {'background-color':'red'},
});
map.add(text);
成员函数:
getText
text(text)
setStyle
getTitle()
setTitle(title)
getClickable()
setClickable(clickable)
getDraggable()
setDraggable(draggable)
getTop()
getzIndex()
getMap()
setMap(map)
addTo(map)
add(map)
show()
hide()
getPosition()
setPosition(position)
getAnchor()
Text(anchor)
getOffset()
setOffset(offset)
getAngle()
setAngle(angle)
setzIndex(zIndex)
getOptions()
getBounds()
moveTo(targetPosition, opts)
moveAlong(path, opts)
startMove()
stopMove()
pauseMove()
resumeMove()
setTop(isTop)
getCursor()
setCursor(cursor)
getExtData()
setExtData(extData)
remove()
事件:
moving
touchmove
touchend
movealong
touchstart
moveend
click
dblclick
rightclick
mousemove
mouseover
mouseout
mousedown
mouseup
dragstart
dragend
dragging

AMap.LabelMarker

标注类

new AMap.LabelMarker(opts: LabelMarkerOptions)
参数说明:
opts (LabelMarkerOptions) 标注参数
Name Description
opts.name string 标注名称,作为标注标识,并非最终在地图上显示的文字内容,显示文字内容请设置 opts.text.content
opts.position (Vector | LngLat) 标注位置
opts.zooms Vector 标注显示级别范围, 可选值: [2,20]
opts.opacity number 标注透明度,默认值: 1
opts.rank number 避让优先级,获取标注的优先级,该优先级用于 labelsLayer 支持避让时,rank 值大的标注会避让掉 rank 值低的标注。默认值:1
opts.zIndex number 同一 LabelsLayer 内标注显示层级,数字越大越靠前,默认值: 1
opts.visible boolean 标注是否可见, 默认值: true
opts.extData any 用户自定义类型数据,可将自定义数据保存在该属性上,方便后续操作使用。
opts.icon IconOptions 标注图标设置
opts.icon.image string 图标 url。
opts.icon.size (Vector | Size) 图标大小,默认值: [36, 36]
opts.icon.clipOrigin (Vector | Pixel) 图标所在图片偏移位置,默认值: [0, 0]
opts.icon.clipSize (Vector | Size) 图标所在图片裁剪大小,若未设置,则使用图片大小
opts.icon.anchor (Vector | Pixel | string) 图标锚点,锚点位置对应设置的 position 位置。可选值:'top-left'| 'top-center'|'top-right'|'middle-left'|'center'| 'middle-right'| 'bottom-left'| 'bottom-center'| 'bottom-right' 。默认值:'top-left'。
opts.text TextOptions 标注文本设置
opts.text.content string 文本标注的内容,该属性为直接显示在标注上的文本内容。
opts.text.direction string 文本标注方位。若设置了 icon,则 direction 是以 icon 为中心的偏移,若未设置 icon,则相对 position 偏移。 可选值:'top'|'right'|'bottom'|'left'|'center'。默认值: right
opts.text.offset (Pixel | Vector) 为偏移量,在 direction 基础上的偏移。默认值 [0, 0]
opts.text.zooms Vector 文本显示级别范围,可单独设置文本显示范围
opts.text.style TextStyleOptions 文本样式设置
opts.text.style.fontSize number 文字大小,默认值: 12
opts.text.style.fillColor string 文字颜色
opts.text.style.strokeColor string 文字描边颜色
opts.text.style.padding (string | Array<(string | number)>) 文字 padding。默认值: [3, 3, 3, 3]
opts.text.style.backgroundColor string 文字背景颜色
opts.text.style.borderColor string 文字背景描边颜色
opts.text.style.borderWidth number 文字背景描边粗细
opts.text.style.fold boolean 文字是否折行(6个字一折行)
示例代码:
// 创建一个 LabelMarker 实例
var labelMarker = new AMap.LabelMarker({
    position: [116.468599, 39.995847],
    opacity: 1,
    zIndex: 2,
    icon: {
        image: 'https://a.amap.com/jsapi_demos/static/images/poi-marker.png',
        anchor: 'bottom-center',
        size: [25, 34],
        clipOrigin: [459, 92],
        clipSize: [50, 68]
    },
    text: {
        content: '香猪坊',
        direction: 'right',
        style: {
            fontSize: 15,
            fillColor: '#fff',
            strokeColor: 'rgba(255,0,0,0.5)',
            strokeWidth: 2,
            padding: [3, 10],
            backgroundColor: 'yellow',
            borderColor: '#ccc',
            borderWidth: 3,
        }
    }
});
// 创建一个 LabelsLayer 实例来承载 LabelMarker,[LabelsLayer 文档](https://lbs.amap.com/api/jsapi-v2/documentation#labelslayer)
var labelsLayer = new LabelsLayer({
    collision: true,
});
// 将 LabelMarker 实例添加到 LabelsLayer 上
labelsLayer.add(labelMarker);
// 将 LabelsLayer 添加到地图上
map.add(labelsLayer);
成员函数:
getName()
setName(name)
getPosition()
setPosition(position)
getZooms()
setZooms(zooms)
getOpacity()
setOpacity(opacity)
getzIndex()
setzIndex(zIndex)
getRank()
setRank(rank)
getText()
setText(textOpts)
getIcon()
setIcon(iconOpts)
getOptions()
getExtData()
setExtData(extData)
setTop(isTop)
getVisible()
getCollision()
show()
hide()
remove()
resumeMove()
stopMove()
startMove()
moveAlong(path, opts)
moveTo(targetPosition, opts)
pauseMove()
事件:
mousedown
mouseup
touchstart
touchmove
touchend
click
mousemove
mouseover
mouseout

AMap.ElasticMarker

灵活点标记

new AMap.ElasticMarker(opts: ElasticMarkerOptions)
参数说明:
opts (ElasticMarkerOptions) 灵活点标记参数
Name Description
opts.map Map 要显示该marker的地图对象
opts.position (Vector | LngLat) 点标记在地图上显示的位置
opts.visible boolean 点标记是否可见,默认为true
opts.zIndex number 点标记的叠加顺序
opts.offset (Vector | Pixel) 点标记显示位置偏移量
opts.clickable boolean 点标记是否可点击
opts.draggable boolean 设置点标记是否可拖拽移动
opts.bubble boolean 事件是否冒泡,默认为 false
opts.cursor string 指定鼠标悬停时的鼠标样式
opts.topWhenClick boolean 鼠标点击时marker是否置顶
opts.zoomStyleMapping Record<string, number> 表示地图级别与styles中样式的映射,{14:0,15:0,16:1,17:1,}表示14到15级使用styles中的第0个样式,16-17级使用第二个样式
opts.extData any 用户自定义属性
opts.styles Array<ElasticStyle> 多个不同样式的数组
opts.styles.icon ElasticIcon 灵活标注图标样式类型
opts.styles.icon.img string 图标 url
opts.styles.icon.size Vector 图标显示大小
opts.styles.icon.anchor (Vector | string) 图标锚点
opts.styles.icon.imageOffset (Vector | string) 图片偏移量
opts.styles.icon.imageSize number 图片大小
opts.styles.icon.fitZoom number 最合适的级别,在此级别下显示为原始大小
opts.styles.icon.scaleFactor number 地图放大一级的缩放比例系数
opts.styles.icon.maxScale number 最大放大比例
opts.styles.icon.minScale number 最小放大比例
opts.styles.label ElasticLabel 灵活标注文本样式类型
opts.styles.label.content ElasticLabel 文本内容
opts.styles.label.position ElasticLabel 文本位置相对于图标的基准点,可选值:BL、BM、BR、ML、MR、TL、TM、TR分别代表左下角、底部中央、右下角、左侧中央、右侧中央、左上角、顶部中央、右上角
opts.styles.label.offset ElasticLabel 相对position的偏移量
opts.styles.label.minZoom ElasticLabel label的最小显示级别
示例代码:
// 样式列表
var stylesArr = [{
   icon: {
       img: 'https://a.amap.com/jsapi_demos/static/resource/img/men3.png',
       size: [16, 16],//可见区域的大小
       anchor: 'bottom-center',//锚点
       fitZoom: 14,//最合适的级别
       scaleFactor: 2,//地图放大一级的缩放比例系数
       maxScale: 2,//最大放大比例
       minScale: 1//最小放大比例
   },
   label: {
       content: '百花殿',
       position: 'BM',
       minZoom: 15
   }
}, {
   icon: {
       img: 'https://a.amap.com/jsapi_demos/static/resource/img/tingzi.png',
       size: [48, 63],
       anchor: 'bottom-center',
       fitZoom: 17.5,
       scaleFactor: 2,
       maxScale: 2,
       minScale: 0.125
   },
   label: {
       content: '万寿亭',
       position: 'BM',
       minZoom: 15
   }
}];
zoom 与样式的映射
var zoomStyleMapping1 = {
   14: 0,  // 14级使用样式 0
   15: 0,
   16: 0,
   17: 0,
   18: 1,
   19: 1,
   20: 1,
};
// 加载灵活点标记的插件
AMap.plugin(['AMap.ElasticMarker'], function(){
    var elasticMarker = new AMap.ElasticMarker({
        position: [116.405562, 39.881166],
        // 指定样式列表
        styles: stylesArray,
        // 指定 zoom 与样式的映射
        zoomStyleMapping: zoomStyleMapping,
    });
    map.add(elasticMarker);
});
成员函数:
getTitle()
setTitle(title)
getClickable()
setClickable(clickable)
getDraggable()
show()
getBounds()
getOptions()
setzIndex(zIndex)
getzIndex()
setAnchor(anchor)
setPosition(position)
getMap()
hide()
getPosition()
setMap(map)
setDraggable(draggable)
getTop()
setTop(isTop)
getCursor()
setCursor(cursor)
getExtData()
setExtData(extData)
remove()
事件:
touchend
touchmove
touchstart
dragend
dragging
dragstart
mouseup
mousedown
mouseout
mouseover
mousemove
rightclick
dblclick
click

AMap.MarkerCluster

用于展示大量点标记,将点标记按照距离进行聚合,以提高绘制性能。点聚合支持用户自定义样式,以插件形式调用。

new AMap.MarkerCluster(map: Map, dataOptions: Array, MarkerClusterOptions: Object)
参数说明:
map (Map) 要添加点聚合的地图对象
dataOptions (Array) 需要进行聚合显示的点数据
Name Description
dataOptions.lnglat Array 点标记的经纬度信息
dataOptions.weight number 点标记的权重信息,以权重高的点为中心进行聚合
MarkerClusterOptions (Object) 点聚合属性设置
Name Description
MarkerClusterOptions.gridSize Number 聚合计算时网格的像素大小,默认60
MarkerClusterOptions.maxZoom Number 最大的聚合级别,大于该级别就不进行相应的聚合。默认值为 18,即小于 18 级的级别均进行聚合,18 及以上级别不进行聚合
MarkerClusterOptions.averageCenter Boolean 聚合点的图标位置是否是所有聚合内点的中心点。默认为 true。数据中如果含有权重值,以权重高的点为中心进行聚合
MarkerClusterOptions.clusterByZoomChange Boolean 地图缩放过程中是否聚合。默认值 false。
MarkerClusterOptions.styles Array<Object>
指定聚合后的点标记的图标样式,可缺省,缺省时为默认样式
数据元素分别对应聚合量在1-10,11-100,101-1000…的聚合点的样式;
当用户设置聚合样式少于实际叠加的点数,未设置部分按照系统默认样式显示;
单个图标样式包括以下几个属性:
1. {string} url:图标显示图片的url地址(必选)
2. {AMap.Size} size:图标显示图片的大小(必选)
3. {AMap.Pixel} offset:图标定位在地图上的位置相对于图标左上角的偏移值。默认为(0,0),不偏移(可选)
4. {AMap.Pixel} imageOffset:图片相对于可视区域的偏移值,此功能的作用等同CSS中的background-position属性。默认为(0,0),不偏移(可选)
5. {String} textColor:文字的颜色,默认为"#000000"(可选)
6. {Number} textSize:文字的大小,默认为10(可选)
MarkerClusterOptions.renderClusterMarker function
该方法用来实现聚合点的自定义绘制,由开发者自己实现,API 将在绘制每个聚合点的时候调用这个方法,可以实现聚合点样式的灵活设定,指定了 renderClusterMarker 后 styles 无效。
该函数的入参为一个Object,包含如下属性:
1. count: 当前聚合点下聚合的 Marker 的数量
2. marker: 当前聚合点显示的 Marker
MarkerClusterOptions.renderMarker function
该方法用来实现非聚合点的自定义绘制,由开发者自己实现,API 将在绘制每个非聚合点的时候调用这个方法
该函数的入参为一个Object,包含如下属性:
marker: 非聚合点 Marker 对象
示例代码:
// 数据格式为一组含有经纬度信息的数组,如下所示。其中【经纬度】lnglat 为必填字段,【权重】weight 为可选字段。
var points = [
 { weight: 8, lnglat: ["108.939621", "34.343147"] },
 { weight: 1, lnglat: ["112.985037", "23.15046"] },
 { weight: 1, lnglat: ["110.361899", "20.026695"] },
 { weight: 1, lnglat: ["121.434529", "31.215641"] }
];
// 加载点聚合插件
map.plugin(["AMap.MarkerCluster"],function(){
 var cluster = new AMap.MarkerCluster(map, points, {
     gridSize: 80 // 聚合网格像素大小
 });
});
成员函数:
getClustersCount()
addData(dataOptions)
setData(dataOptions)
getGridSize()
setGridSize(size)
getMaxZoom()
setAverageCenter(averageCenter)
isAverageCenter()
setMap(Map)
getMap()
getStyles()
setStyles(Map)
setMaxZoom(zoom)
事件:
click

AMap.MassMarks

海量点类

new AMap.MassMarks(data: Array<MassData>, opts: Array<MassMarkersOptions>)
参数说明:
data (Array<MassData>) 海量点数据参数
Name Description
data.lnglat LngLat 经纬度,必填。
data.style number 样式索引值,默认值:0
opts (Array<MassMarkersOptions>) 海量点参数设置
Name Description
opts.zIndex number 图标叠加层级,值越大层级越高
opts.opacity number 图标显示透明度,默认值:1
opts.zooms Vector 海量点显示层级范围,范围外不显示。默认值: [2, 20]
opts.style (MassMarkersStyleOptions | Array<MassMarkersStyleOptions>) 海量点样式列表。
opts.style.url string 图标 url
opts.style.size (Vector | Size) 图标显示大小
opts.style.anchor Pixel 锚点位置
opts.style.zIndex number 点展示优先级,默认为使用样式的索引值。
示例代码:
// 创建 MassMarks 实例,[亲手试一试](https://lbs.amap.com/api/jsapi-v2/example/marker/massmarks)
var massMarks = new AMap.MassMarks(data, {
    opacity: 0.8,
    zIndex: 111,
    cursor: 'help',
    style: style,
});
// 将海量点实例添加到地图上
map.add(massMarks);
成员函数:
setMap(map)
getMap()
getData()
setData(data)
getStyle()
setStyle(style)
setOpacity()
setzIndex(opacity)
setzIndex(zIndex)
getzIndex()
getZooms()
setZooms(zooms)
show()
hide()
clear()
事件:
touchstart
touchend
mousemove
dbclick
click
complete
mouseover
mousedown
mouseup
mouseout

MoveAnimation

用于实现点标记沿线段或者路径轨迹移动的动画基类,可用于满足轨迹回放、实时轨迹等场景。MoveAnimation无需单独声明或初始化,Marker、Text、LabelMarker均已继承了 MoveAnimation的实现。

静态方法:
moveAlong(path, opts)
resumeMove()
stopMove()
startMove()
moveTo(targetPosition, opts)

AnimationCallback

MoveAnimation 回调函数

Type: function

参数说明:
index (number) 运行到点的索引
data (LngLat) 当前点经纬度
返回值:
number:

EasingCallback

时间函数回调

Type: function

参数说明:
passedTime (number) 已经过去的时长
返回值:
number:

信息窗体

用于在地图上展示复杂的说明性信息的类型

AMap.InfoWindow

信息窗体,地图仅可同时展示一个信息窗体,推荐为信息窗体通过样式显示设置尺寸。 * // 亲手试一试

new AMap.InfoWindow(opts: InfoOptions)
参数说明:
opts (InfoOptions) 信息窗体参数
Name Description
opts.isCustom boolean 是否自定义窗体。设为true时,信息窗体外框及内容完全按照content所设的值添加(默认为false,即在系统默认的信息窗体外框中显示content内容)
opts.autoMove boolean 是否自动调整窗体到视野内(当信息窗体超出视野范围时,通过该属性设置是否自动平移地图,使信息窗体完全显示)
opts.avoid Array<number> autoMove 为 true 时,自动平移到视野内后的上右下左的避让宽度。默认值: [20, 20, 20, 20]
opts.closeWhenClickMap boolean 控制是否在鼠标点击地图后关闭信息窗体,默认false,鼠标点击地图后不关闭信息窗体
opts.content (String | HTMLElement) 显示内容,可以是HTML要素字符串或者HTMLElement对象, 自定义窗体示例
opts.size Size 信息窗体尺寸(isCustom为true时,该属性无效)
opts.anchor string 信息窗体锚点。默认值:'bottom-center'。可选值:'top-left'|'top-center'|'top-right'|'middle-left'|'center'|'middle-right'|'bottom-left'|'bottom-center'|'bottom-right'
opts.offset (Vector | Pixel) 信息窗体显示位置偏移量。默认基准点为信息窗体的底部中心。默认值: [0, 0]
opts.position (Vector | LngLat) 信息窗体显示基点位置
示例代码:
var infoWindow = new AMap.InfoWindow({
   content: '信息窗体',
   anchor: 'bottom-center',
});
// 在地图上打开信息窗体
infoWindow.open(map, [116.397389,39.909466]);
成员函数:
open(map, position, height)
getIsOpen()
setSize(size)
setContent(content)
setAnchor(anchor)
事件:
open
close

右键菜单

AMap.ContextMenu

右键菜单 亲手试一试

new AMap.ContextMenu(opts: OverlayOptions)
参数说明:
opts (OverlayOptions) 右键菜单参数
Name Description
opts.position (Vector | LngLat) 右键菜单显示的位置
opts.content (string | HTMLElement) 右键菜单内容(针对自定义菜单时,添加菜单内容及功能。可以是HTML要素字符串或者HTML DOM对象。)
示例代码:
// 创建一个右键菜单实例
var contextMenu = new AMap.ContextMenu();
//右键放大
contextMenu.addItem("放大一级", function () {
    var zoom = map.getZoom();
    map.setZoom(zoom++);
}, 0);
// 在地图上指定位置打开右键菜单
contextMenu.open(map, [116.397389,39.909466]);
成员函数:
open(map, position)
close()
addItem(text, fn, num)
removeItem(text, fn)
事件:
open
close

矢量图形

用于在地图上绘制线、面等矢量地图要素的类型

AMap.Polygon

构造多边形对象,通过PolygonOptions指定多边形样式

new AMap.Polygon(opts: PolygonOptions)
参数说明:
opts (PolygonOptions)
Name Description
opts.path (Array<LngLat> | Array<Array<LngLat>> | Array<Array<Array<LngLat>>>) 多边形轮廓线的节点坐标数组。 支持 单个普通多边形({Array }),单个带孔多边形({Array<Array >}),多个带孔多边形({Array<Array<Array >>})
opts.zIndex number (default 10) 多边形覆盖物的叠加顺序。地图上存在多个多边形覆盖物叠加时,通过该属性使级别较高的多边形覆盖物在上层显示
opts.bubble boolean (default false) 是否将覆盖物的鼠标或touch等事件冒泡到地图上(自v1.3 新增)
opts.cursor string? 指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式,Opera不支持自定义cursor
opts.strokeColor string (default #00D3FC) 线条颜色,使用16进制颜色代码赋值。默认值为#00D3FC
opts.strokeOpacity number (default 0.9) 轮廓线透明度,取值范围 [0,1] ,0表示完全透明,1表示不透明。默认为0.9
opts.strokeWeight number (default 2) 轮廓线宽度
opts.fillColor string (default #00B2D5) 多边形填充颜色,使用16进制颜色代码赋值,如:#00B2D5
opts.fillOpacity number (default 0.5) 多边形填充透明度,取值范围 [0,1] ,0表示完全透明,1表示不透明。默认为0.5
opts.draggable boolean (default false) 设置多边形是否可拖拽移动,默认为false
opts.extData object? 用户自定义属性,支持JavaScript API任意数据类型,如Polygon的id等
opts.strokeStyle ("solid" | "dashed") (default solid) 轮廓线样式,实线:solid,虚线:dashed
opts.strokeDasharray Array<number>? 勾勒形状轮廓的虚线和间隙的样式,此属性在strokeStyle 为dashed 时有效, 此属性在ie9+浏览器有效 取值: 实线: [0,0,0] 虚线: [10,10] , [10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线 点画线: [10,2,10] , [10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实线和10个像素的空白 (如此反复)组成的虚线
成员函数:
getPath()
getBounds()
getArea()
setPath(path?)
contains(originPoint)
hide()
show()
getExtData()
setExtData(extData)
getOptions()
setOptions(optsArg)
事件:
hide
show
touchstart
mouseout
mouseover
mouseup
mousedown
rightclick
click
dblclick
touchend
touchmove

AMap.Polyline

构造折线对象,支持 lineString 和 MultiLineString

new AMap.Polyline(opts: any)
参数说明:
opts (any) {PolylineOptions}
Name Description
opts.path (Array<LngLat> | Array<Array<LngLat>>) polyline 路径,支持 lineString 和 MultiLineString
opts.zIndex number (default 10) 多边形覆盖物的叠加顺序。地图上存在多个多边形覆盖物叠加时,通过该属性使级别较高的多边形覆盖物在上层显示
opts.bubble boolean (default false) 是否将覆盖物的鼠标或touch等事件冒泡到地图上(自v1.3 新增)
opts.cursor string? 指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式,Opera不支持自定义cursor
opts.strokeColor string (default #00D3FC) 线条颜色,使用16进制颜色代码赋值。默认值为#00D3FC
opts.strokeOpacity number (default 0.5) 轮廓线透明度,取值范围 [0,1] ,0表示完全透明,1表示不透明。默认为0.5
opts.strokeWeight number (default 2) 轮廓线宽度
opts.borderWeight number (default 2) 描边线宽度
opts.isOutline boolean (default false) 是否显示描边,默认false
opts.borderWeight number (default 1) 描边的宽度,默认为1
opts.outlineColor string (default #00B2D5) 线条描边颜色,此项仅在isOutline为true时有效,默认:#00B2D5
opts.draggable boolean (default false) 设置多边形是否可拖拽移动,默认为false
opts.extData object? 用户自定义属性,支持JavaScript API任意数据类型,如Polygon的id等
opts.strokeStyle ("solid" | "dashed") (default solid) 轮廓线样式,实线:solid,虚线:dashed
opts.strokeDasharray Array<number>? 勾勒形状轮廓的虚线和间隙的样式,此属性在strokeStyle 为dashed 时有效, 此属性在ie9+浏览器有效 取值: 实线: [0,0,0] 虚线: [10,10] , [10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线 点画线: [10,2,10] , [10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实线和10个像素的空白 (如此反复)组成的虚线
opts.lineJoin ("miter" | "round" | "bevel") (default miter) 折线拐点的绘制样式,默认值为'miter'尖角,其他可选值:'round'圆角、'bevel'斜角
opts.lineCap ("butt" | "round" | "square") (default butt) 折线两端线帽的绘制样式,默认值为'butt'无头,其他可选值:'round'圆头、'square'方头
opts.geodesic boolean (default false) 是否绘制成大地线,默认false
opts.showDir boolean (default false) 是否延路径显示白色方向箭头,默认false。建议折线宽度大于6时使用
成员函数:
getBounds()
setPath(path?)
getLength()
hide()
show()
getExtData()
setExtData(extData)
getOptions()
getPath()
setOptions
contains(point)
事件:
hide
show
mouseout
rightclick
dblclick
click
mouseover
touchend
touchmove
touchstart
mouseup
mousedown

AMap.BezierCurve

贝塞尔曲线

new AMap.BezierCurve(opts: BezierCurveOptions)
参数说明:
opts (BezierCurveOptions) BezierCurve配置项
Name Description
opts.path Array 贝瑟尔曲线的路径。描述为一个二维数组规则如下:第一个元素是起点, 之后的元素同时描述控制点和途经点,之后每个元素可以有0个到2个控制点 控制点在前,途经点在最后 [ [lng,lat] ,//起点0 [lng,lat,lng,lat,lng,lat] ,//控制