地图 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] ,//控制点、控制点、途经点2 [lng,lat,lng,lat] //控制点、途经点3 ] 或者 [ [ [lng,lat] ],//起点0 [ [lng,lat] , [lng,lat] ],//控制点、途经点1 [ [lng,lat] , [lng,lat] , [lng,lat] ],//控制点、控制点、途经点2 [ [lng,lat] , [lng,lat] ]//控制点、途经点3 ]
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时使用
成员函数:
setOptions(optsArg)
getPath()
setPath(path)
hide()
show()
getExtData()
setExtData(extData)
getOptions()
contains(point)
getLength()
getBounds()
事件:
hide
show
dblclick
mouseover
mouseup
mousedown
click
touchend
touchmove
touchstart
rightclick
mouseout

AMap.Circle

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

new AMap.Circle(opts: CircleOptions)
参数说明:
opts (CircleOptions)
Name Description
opts.center LngLat 圆心位置
opts.radius number 圆半径,单位:米
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个像素的空白 (如此反复)组成的虚线
成员函数:
setCenter(center)
setRaius(radius)
getCenter()
getRaius()
contains(point)
setOptions(optsArg)
hide()
show()
getExtData()
setExtData(extData)
getOptions()
事件:
hide
show
rightclick
click
touchend
dblclick
touchmove
touchstart
mouseout
mouseover
mouseup
mousedown

AMap.CircleMarker

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

new AMap.CircleMarker(opts: CircleMarkerOptions)
参数说明:
opts (CircleMarkerOptions)
Name Description
opts.center LngLat 圆心位置
opts.radius number 圆半径,单位:px 最大值64
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等
成员函数:
hide()
setRadius(radius)
getCenter()
getRadius()
show()
setOptions(optsArg)
contains(point)
getOptions()
getExtData()
setExtData(extData)
事件:
hide
show
mouseover
touchend
click
touchmove
rightclick
mouseup
mouseout
touchstart
mousedown
dblclick

AMap.Ellipse

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

new AMap.Ellipse(opts: EllipseOptions)
参数说明:
opts (EllipseOptions)
Name Description
opts.center LngLatLike 椭圆圆心
opts.radius [number, number] 椭圆的半径,用2个元素的数组表示,单位:米 如: radius: [1000, 2000] 表示横向半径是1000,纵向的半径是2000 默认值: [1000, 1000]
opts.zIndex number (default 10) 椭圆覆盖物的叠加顺序。地图上存在多个多边形覆盖物叠加时,通过该属性使级别较高的多边形覆盖物在上层显示
opts.bubble boolean (default false) 是否将覆盖物的鼠标或touch等事件冒泡到地图上
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任意数据类型,如 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个像素的空白 (如此反复)组成的虚线
成员函数:
setCenter(center)
setRadius(radius)
getCenter()
getRadius()
contains(point)
setOptions(optsArg)
hide()
show()
getExtData()
setExtData(extData)
事件:
hide
show
click
dblclick
rightclick
mouseover
touchend
touchmove
touchstart
mouseout
mouseup
mousedown

AMap.Rectangle

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

new AMap.Rectangle(opts: RectangleOptions)
参数说明:
opts (RectangleOptions)
Name Description
opts.map Map 要显示该覆盖物的地图对象
opts.bounds Bounds 矩形的范围
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个像素的空白 (如此反复)组成的虚线
成员函数:
setBounds(bounds)
setOptions(optsArg)
contains(point)
getCenter()
hide()
show()
getExtData()
setExtData(extData)
getOptions()
事件:
hide
show
dblclick
click
mousedown
mouseout
mouseover
mouseup
touchend
rightclick
touchstart
touchmove

AMap.GeoJSON

GeoJSON类,继承自OverLayGroup,可实现GeoJSON对象与OverlayGroup的相互转换

new AMap.GeoJSON(opts: GeoJSONOptions)
参数说明:
opts (GeoJSONOptions) 创建一个GeoJSON对象,ops为初始构造参数
Name Description
opts.geoJSON Object 要加载的标准GeoJSON对象
opts.getMarker function (geojson, lnglat) 指定点要素的绘制方式,缺省时为Marker的默认样式。geojson为当前要素对应的GeoJSON对象,lnglats为对应的线的路径
opts.getPolyline function (geojson, lnglat) 指定线要素的绘制方式,缺省时为Marker的默认样式。geojson为当前要素对应的GeoJSON对象,lnglats为对应的线的路径
opts.getPolygon function (geojson, lnglat) 指定面要素的绘制方式,缺省时为Marker的默认样式。geojson为当前要素对应的GeoJSON对象,lnglats为对应的线的路径
成员函数:
importData(geoJSON)
toGeoJSON()

群组

用于批量操作图层和覆盖物的群组类型,可以简化代码书写

AMap.LayerGroup

LayerGroup类用来包装其它图层类的实例, 对实例集合做批量操作, 避免开发者对多个需要设置同样属性的图层实例做循环处理。
同时只要对LayerGroup执行过setMap方法后, 新添加到该LayerGroup中的图层会自动将其map属性修改到该group对应的map,
此外从group中移除该图层时,也会将该图层从group对应的map中移除。
如果对图层集合添加对某个事件的监听或解除监听, 图层集合会对集合中所有图层实例做集合处理,
只要该图层支持此事件, 该事件绑定/解除即对图层生效 相关示例

new AMap.LayerGroup(layers: Array<Layer>)
参数说明:
layers (Array<Layer>) 图层数组
静态方法:
setMap(map)
reload()
成员函数:
hasLayer(layer)
setOptions(opts)
eachLayer(iterator)
addLayer(layer)
addLayers(layers)
removeLayer(layer)
removeLayers(layers)
getLayers()
clearLayers()
hide()
show()
on(type, 事件回调函数)

AMap.OverlayGroup

OverlayGroup 类用来包装其它覆盖物类的实例,对实例集合做整体操作,避免开发者对多个需要设置同样属性的覆盖物实例做循环处理。 此外从group中移除该覆盖物时,也会将该覆盖物从group对应的map中移除。 目前OverlayGroup支持Marker, Polygon, Polyline, Circle,CircleMarker, Rectangle, Ellipse 和 BezierCurve。

new AMap.OverlayGroup(overlays: Array<Overlay>)
参数说明:
overlays (Array<Overlay>)
成员函数:
addOverlay(overlay)
addOverlays(overlays)
getOverlays()
hasOverlay
removeOverlay(overlay)
removeOverlays(overlays)
clearOverlays()
eachOverlay(iterator)
show()
hide()
setOptions(opt)
事件:
*

地图控件

固定于地图最上层的用于控制地图某些状态的 DOM 组件类型

AMap.Control

地图控件基类,可扩展做自定义地图控件。

new AMap.Control(opts: ControlConfig)
参数说明:
opts (ControlConfig) 默认参数
Name Description
opts.position (string | object) 控件停靠位置 { top: 5; left: 5; right: 5; bottom: 5 } 或者 'LT': 左上角, 'RT': 右上角, 'LB': 左下角, 'RB': 右下角
opts.offset [number, number] 相对于地图容器左上角的偏移量,正数代表向右下偏移。默认为AMap.Pixel(10,10)
成员函数:
addTo(map)
remove(map)
show()
hide()
事件:
show
hide

AMap.Scale

比例尺插件。位于地图右下角,用户可控制其显示与隐藏。继承自 AMap.Control
相关示例

new AMap.Scale(opts: ControlConfig)
参数说明:
opts (ControlConfig) 默认参数
Name Description
opts.position (string | object) 控件停靠位置 { top: 5; left: 5; right: 5; bottom: 5 } 或者 'LT': 左上角, 'RT': 右上角, 'LB': 左下角, 'RB': 右下角
opts.offset [number, number] 相对于地图容器左上角的偏移量,正数代表向右下偏移。默认为AMap.Pixel(10,10)
示例代码:
mapObj.plugin(["AMap.Scale"],function(){
    var scale = new AMap.Scale();
    mapObj.addControl(scale);
});
成员函数:
addTo(map)
remove(map)
hide()
show()
事件:
hide
show

AMap.ToolBar

地图操作工具条插件。可支持方向导航、位置定位、视野级别缩放、视野级别选择等操作。继承自 AMap.Control
相关示例

new AMap.ToolBar(opts: ControlConfig)
参数说明:
opts (ControlConfig) 默认参数
Name Description
opts.position (String | Object) 控件停靠位置 { top: 5; left: 5; right: 5; bottom: 5 } 或者 'LT': 左上角, 'RT': 右上角, 'LB': 左下角, 'RB': 右下角
opts.offset [Number, Number] 相对于地图容器左上角的偏移量,正数代表向右下偏移。默认为AMap.Pixel(10,10)
示例代码:
mapObj.plugin(["AMap.ToolBar"],function(){
    //加载工具条
    var tool = new AMap.ToolBar();
    mapObj.addControl(tool);
});
成员函数:
addTo
remove
hide
show
事件:
hide
show

AMap.ControlBar

组合了旋转、倾斜、复位在内的地图控件。
相关示例

new AMap.ControlBar(opts: ControlConfig)
参数说明:
opts (ControlConfig) 默认参数
Name Description
opts.position (string | object) 控件停靠位置 { top: 5; left: 5; right: 5; bottom: 5 } 或者 'LT': 左上角, 'RT': 右上角, 'LB': 左下角, 'RB': 右下角
opts.offset [number, number] 相对于地图容器左上角的偏移量,正数代表向右下偏移。默认为AMap.Pixel(10,10)
opts.showControlButton boolean 是否显示倾斜、旋转按钮。默认为 true
示例代码:
var mapObj = new AMap.Map("container",{
    center: new AMap.LngLat(116.368904,39.913423),
    zoom:16
});
mapObj.plugin(["AMap.ControlBar"],function() {
    var controlBar = new AMap.ControlBar(Options)
    map.addControl(controlBar)
});
//map.reoveControl(controlBar)
成员函数:
addTo(map)
remove(map)
show()
hide()
事件:
show
hide

AMap.MapType

地图类型切换插件。用户通过该插件进行地图切换。

new AMap.MapType(opts: MaptypeOptions)
参数说明:
opts (MaptypeOptions) 控件默认参数
Name Description
opts.defaultType number (default 0) 初始化默认图层类型。 取值为0:默认底图 取值为1:卫星图 默认值:0
opts.showTraffic boolean (default false) 叠加实时交通图层 默认值:false
opts.showRoad boolean (default false) 叠加路网图层 默认值:false
示例代码:
mapObj = new AMap.Map("container",{
    center:new AMap.LngLat(116.368904,39.913423),
    zoom: 16
});
mapObj.plugin(["AMap.MapType"],function(){
    //地图类型切换
    var type= new AMap.MapType({
        defaultType: 0,
    });
    mapObj.addControl(type);
});
成员函数:
addLayer(layerInfo)
removeLayer(id)
addTo(map)
remove(map)
show
hide
事件:
show
hide

AMap.HawkEye

鹰眼控件,用于显示缩略地图,显示于地图右下角,可以随主图的视口变化而变化,也可以配置成固定位置实现类似于南海附图的效果。

new AMap.HawkEye(options: HawkEyeOptions)
参数说明:
options (HawkEyeOptions) 初始化参数
Name Description
options.autoMove boolean 是否随主图视口变化移动
options.showRectangle boolean 是否显示视口矩形
options.showButton boolean 是否显示打开关闭的按钮
options.isOpen boolean 默认是否展开
options.mapStyle string 缩略图要显示的地图自定义样式,如'amap://styles/dark'
options.layers array 缩略图要显示的图层类型,默认为普通矢量地图
options.width string 缩略图的宽度,同CSS,如'200px'
options.height string 缩略图的高度,同CSS,如'200px'
options.offset [number, number] 缩略图距离地图右下角的像素距离,如 [2,2]
options.borderStyle string 缩略图的边框样式,同CSS,如"double solid solid double"
options.borderColor string 缩略图的高度,同CSS,如'silver'
options.borderRadius string 缩略图的高度,同CSS,如'5px'
options.borderWidth string 缩略图的高度,同CSS,如'2px'
options.buttonSize string 箭头按钮的像素尺寸,同CSS,如'12px'
成员函数:
open()
close()
show()
hide()

工具类

用于满足一定专门功能的工具类型

AMap.RangingTool

构造一个距离量测插件对象。参数map为地图实例。 opts属性参考RangingToolOptions列表中的说明

new AMap.RangingTool(map: Map, opts: RangingToolOptions)
参数说明:
map (Map) 要添加到的地图实例
opts (RangingToolOptions) 鼠标工具配置参数
Name Description
opts.startMarkerOptions Object 设置量测起始点标记属性对象,包括点标记样式、大小等,参考 MarkerOptions
opts.midMarkerOptions Object 设置量测中间点标记属性对象,包括点标记样式、大小等,参考 MarkerOptions
opts.endMarkerOptions Object 设置量测结束点标记属性对象,包括点标记样式、大小等,参考 MarkerOptions
opts.lineOptions Object 设置距离量测线的属性对象,包括线样式、颜色等,参考 PolylineOptions
opts.tmpLineOptions Object 设置距离量测过程中临时量测线的属性对象,包括线样式、颜色,参考 PolylineOptions
opts.startLabelText String 设置量测起始点标签的文字内容,默认为“起点”
opts.midLabelText String 设置量测中间点处标签的文字内容,默认为当前量测结果值
opts.endLabelText String 设置量测结束点处标签的文字内容,默认为当前量测结果值
opts.startLabelOffset Pixel 设置量测起始点标签的偏移量。默认值:Pixel(-6, 6)
opts.midLabelOffset Pixel 设置量测中间点标签的偏移量。默认值:Pixel(-6, 6)
opts.endLabelOffset Pixel 设置量测结束点标签的偏移量。默认值:Pixel(-6, 6)
示例代码:
map.plugin(["AMap.MouseTool"],function(){
   var ruler = new AMap.RangingTool(map);
});
成员函数:
turnOn()
turnOff(removeOverlays)
事件:
end
addnode
removenode

AMap.MouseTool

鼠标工具插件。通过该插件,可进行鼠标画标记点、线、多边形、矩形、圆、距离量测、面积量测、拉框放大、拉框缩小等功能。

new AMap.MouseTool(map: Map)
参数说明:
map (Map) 鼠标工具添加到的地图实例
示例代码:
map.plugin(["AMap.MouseTool"],function(){
   var mousetool = new AMap.MouseTool(map);
   // 使用鼠标工具,在地图上画标记点
   mousetool.marker();
});
成员函数:
marker(opts)
circle(opts)
rectangle(opts)
polyline(opts)
polygon(opts)
measureArea(opts)
rule(opts)
rectZoomIn(opts)
rectZoomOut(opts)
close(ifClear)
事件:
draw

AMap.PolygonEditor

Polygon 编辑器

new AMap.PolygonEditor(map: Map)
参数说明:
map (Map) AMap.Map 的实例
成员函数:
open()
close()
setTarget(overlay)
getTarget()
setAdsorbPolygons(list)
clearAdsorbPolygons()
addAdsorbPolygons(list)
removeAdsorbPolygons(list)
事件:
end
addnode
adjust
move
add

AMap.PolylineEditor

折线编辑插件,用于编辑AMap.Polyline对象,支持通过鼠标调整折线的形状。

new AMap.PolylineEditor(map: Map)
参数说明:
map (Map) AMap.Map 实例
成员函数:
setTarget(overlay?)
getTarget()
open()
close()
事件:
end
addnode
adjust
removenode
add

AMap.CircleEditor

圆编辑插件。用于编辑AMap.Circle对象,功能包括使用鼠标改变圆半径大小、拖拽圆心改变圆的位置。

new AMap.CircleEditor(map: Map, circle: Circle?)
参数说明:
map (Map) AMap.Map 实例
circle (Circle?) 可选参数, AMap.Circle 实例
成员函数:
setTarget(overlay?)
getTarget()
open()
close()
事件:
adjust
move
end
addnode
add

AMap.BezierCurveEditor

贝塞尔曲线编辑器

new AMap.BezierCurveEditor(map: Map, opts: Object)
参数说明:
map (Map) AMap.Map 实例
opts (Object) ops为构造配置参数
Name Description
opts.getMarkerOptions Function? 用于自定义编辑控制点的样式,返回字段同MarkerOptions。type有'pathNode','ctrlNode','midNode'。分别指途经点、控制点和中间点。如: 'getMarkerOptions': function(type) { return { 'content': '
', 'offset': AM.Browser.mobile ? new M.Pixel(-13, -13) : new M.Pixel(-8, -8) }; }
opts.getCtrlLineOptions Function? 用于自定义控制线的样式,返回字段同PolylineOptions,如: 'getCtrlLineOptions': function() { return { 'lineCap': 'round', 'strokeDasharray': [10, 10] , 'strokeColor': "red", //线颜色 'strokeOpacity': 0.5, //线透明度 'strokeWeight': 3, //线宽 'strokeStyle': "dashed" //线样式 }; }
成员函数:
setTarget(overlay?)
getTarget()
open()
close()
事件:
adjust
removenode
add
end
addnode

AMap.EllipseEditor

椭圆编辑器

new AMap.EllipseEditor(map: Map, ellipse: Ellipse?)
参数说明:
map (Map) AMap.Map 的实例
ellipse (Ellipse?) AMap.Ellipse 的实例
成员函数:
setTarget(overlay?)
getTarget()
open()
close()
事件:
end
addnode
adjust
move
add

AMap.RectangleEditor

矩形编辑器

new AMap.RectangleEditor(map: Map, rect: Rectangle?)
参数说明:
map (Map) AMap.Map 的实例
rect (Rectangle?) AMap.Rectangle 的实例
成员函数:
setTarget(overlay?)
getTarget()
open()
close()
事件:
end
add
move
adjust
addnode

服务类

用于调用 Web 服务 API,直接透传查询条件和返回结果

WebService

用于调用 Web 服务 API,直接透传查询条件和返回结果,提供GET和POST两种请求方式,具体请求接口和返回结果,请参考 https://lbs.amap.com/api/webservice/summary/

静态方法:
get(path, params, callback, opts)
post(path, params, callback)

WebServiceCallback

WebService 的回调函数类型

Type: Function

参数说明:
status (string) 服务查询的状态结果,'complete' 或 'error'
data (any) Web服务API返回的数据

搜索

用于进行 POI 搜索联想与数据查询的相关类型

AMap.AutoComplete

根据输入关键字提示匹配信息,可将Poi类型和城市作为输入提示的限制条件。用户可以通过自定义回调函数取回并显

new AMap.AutoComplete(opts: object)
参数说明:
opts (object) 输入提示参数
Name Description
opts.type string 输入提示时限定POI类型,多个类型用“|”分隔,目前只支持Poi类型编码如“050000” 默认值:所有类别
opts.city string 输入提示时限定城市。可选值:城市名(中文或中文全拼)、citycode、adcode;默认值:“全国”
opts.datatype string 返回的数据类型。可选值:all-返回所有数据类型、poi-返回POI数据类型、bus-返回公交站点数据类型、busline-返回公交线路数据类型目前暂时不支持多种类型
opts.citylimit boolean 是否强制限制在设置的城市内搜索,默认值为:false,true:强制限制设定城市,false:不强制限制设定城市
opts.input (string | HTMLDivElement) 可选参数,用来指定一个input输入框,设定之后,在input输入文字将自动生成下拉选择列表。支持传入输入框DOM对象的id值,或直接传入输入框的DOM对象。
opts.output (string | HTMLDivElement) 可选参数,指定一个现有的div的id或者元素,作为展示提示结果的容器,当指定了input的时候有效,缺省的时候将自动创建一个显示结果面板
opts.outPutDirAuto boolean 默认为true,表示是否在input位于页面较下方的时候自动将输入面板显示在input上方以避免被遮挡
opts.closeResultOnScroll boolean 页面滚动时关闭搜索结果列表,默认 true
opts.lang string 设置检索语言类型,默认中文 'zh_cn'
示例代码:
var auto;
//加载输入提示插件
map.plugin(['AMap. Autocomplete'], function() {
    let autoOptions = {
        city: '010' //城市,默认全国
    };
    auto = new AMap.Autocomplete(autoOptions);
}};
成员函数:
setType(type)
setCity(city)
setCityLimit(citylimit)
search(keyword, callback)
事件:
choose
select

AutoCompleteSearchCallback

搜索结果回调

Type: function

参数说明:
status (string) 返回信息状态 可取值:'complete': result 为 AutocompleteResult; 'error': result为错误信息;'no_data': result 为 0
result (searchResult) 返回结果详细信息
Name Description
result.info string 查询状态说明
result.count number 输入提示条数
result.tips Array<Tip> 输入提示列表
result.tips.name string 名称
result.tips.district string 所属区域
result.tips.adcode string 区域编码

AMap.PlaceSearch

地点搜索服务插件,提供某一特定地区的位置查询服务。

new AMap.PlaceSearch()
示例代码:
mapObj.plugin(['AMap.PlaceSearch'], function() {
    var PlaceSearchOptions = { //设置PlaceSearch属性
        city: "北京", //城市
        type: "", //数据类别
        pageSize: 10, //每页结果数,默认10
        pageIndex: 1, //请求页码,默认1
        extensions: "base" //返回信息详略,默认为base(基本信息)
    };
    var MSearch = new AMap.PlaceSearch(PlaceSearchOptions); //构造PlaceSearch类
    AMap.event.addListener(MSearch, "complete", keywordSearch_CallBack); //返回结果
    MSearch.search('方恒国际中心'); //关键字查询
});
成员函数:
search(keyword, callback)
searchInBounds(keyword, bounds, callback)
searchNearBy(keyword, center, radius)
getDetails(PGUID)
setType(type)
setPageIndex(pageIndex)
setPageSize(pageSize)
setCity(city)
setCityLimit(citylimit)
poiOnAMAP(p, opts)
detailOnAMAP(p, opts)
事件:
selectChanged
listElementClick
markerClick

searchCallback

搜索结果回调

Type: function

参数说明:
status (string) 返回信息状态 可取值:'complete': result 为 AutocompleteResult; 'error': result为错误信息;'no_data': result 为 0
result (SearchResult) 返回结果详细信息
Name Description
result.info string 成功状态说明
result.keywordList Array<keyword> 发生事件且查无此关键字时,返回建议关键字列表,可根据建议关键字查询
result.cityList Array<cityInfo> 发生事件且查无此关键字且 city 为“全国”时,返回城市建议列表,该列表中每个城市包含一个或多个相关Poi点信息
result.cityList.name string 建议城市名称
result.cityList.citycode string 城市编码
result.cityList.adcode string 行政区编码
result.cityList.count string 该城市的建议结果数目
result.poiList object 发生事件时返回兴趣点列表
result.poiList.pageIndex number 页码
result.poiList.pageSize number 单页结果数
result.poiList.count number 查询结果总数
result.poiList.pois Array<POI> Poi列表
result.poiList.pois.id string 兴趣点id
result.poiList.pois.name string 名称
result.poiList.pois.type string 兴趣点类型
result.poiList.pois.location LngLat 兴趣点经纬度
result.poiList.pois.address string 地址
result.poiList.pois.distance number 离中心点距离,仅周边查询返回
result.poiList.pois.tel string 电话
result.poiList.pois.website string 网址
result.poiList.pois.pcode string poi所在省份编码
result.poiList.pois.citycode string poi所在城市编码
result.poiList.pois.adcode string poi所在区域编码
result.poiList.pois.postcode string 邮编
result.poiList.pois.pname string poi所在省份
result.poiList.pois.cityname string poi所在城市名称
result.poiList.pois.adname string poi所在行政区名称
result.poiList.pois.email string 电子邮箱
result.poiList.pois.entr_location LngLat 入口经纬度,POI点有出入口信息时返回,否则返回空字符串
result.poiList.pois.exit_location LngLat 出口经纬度,POI点有出入口信息时返回,否则返回空字符串

AMap.CloudDataSearch

云数据检索服务类

new AMap.CloudDataSearch(tableid: string, opts: CloudDataSearchOptions)
参数说明:
tableid (string)
opts (CloudDataSearchOptions)
Name Description
opts.map Map AMap.Map对象, 展现结果的地图实例。当指定此参数后,搜索结果的标注、线路等均会自动添加到此地图上。可选值
opts.keywords string 云检索关键字,仅支持对建立了文本索引的字段进行模糊检索(请在 云数据管理平台 中管理文本索引)
opts.filter string 云检索的筛选条件,仅支持对建立了排序筛选索引的字段进行筛选(请在云数据管理平台中管理排序筛选索引);支持多个筛选条件,支持对文本字段的精确匹配和对数值字段的区间筛选。筛选条件之间使用“+”代表“与”关系,如:filter:"_name:酒店+star: [3,5] "(等同于SOL语句的:WHERE_name="酒店" AND star BETWEEN 3 AND 5)
opts.orderBy string 返回数据的排序规则。1.支持系统预设排序规则:_distance:坐标与中心点距离升序排序(仅对周边检索有效;)_weight:权重降序排序。默认值:1)当设置了keywords时,默认按"_weight"权重排序;2)当未设置keywords时,默认按"_distance"距离排序。2.支持对建立了排序筛选索引的整数或小数字段进行排序(请在云数据管理平台中管理排序筛选索引)。升降序分别为"ASC"、"DESC",若仅填字段不填升降序则默认按升序排列,如:orderBy:"age:ASC"
opts.pageSize number 单页显示结果数,取值范围 [0-100] ,超过取值范围取默认值,默认:20
opts.pageIndex number 当前页码,取值>=1,默认1
opts.panel (string | HTMLElement) 结果列表的HTML容器id或容器元素,提供此参数后,结果列表将在此容器中进行展示。可选值
opts.autoFitView boolean 用于控制在搜索结束后,是否自动调整地图视野使绘制的Marker点都处于视口的可见范围
示例代码:
AMap.plugin('AMap.CloudDataSearch'function(){
    var map = new AMap.Map("map", {
       resizeEnable: true,
       zoom: 12 //地图显示的缩放级别
    });
    var search, center = new AMap.LngLat(116.39946, 39.910829);
    var searchOptions = {
       map: map,
       panel: 'panel',
       keywords: '',
       pageSize: 5,
       orderBy: '_id:ASC'
    };
    search = new AMap.CloudDataSearch('532b9b3ee4b08ebff7d535b4', searchOptions);
    search.searchNearBy(center, 1000);
});
成员函数:
setOptions(opts)
clear()
searchNearBy(center, radius, callback)
searchById(id, callback)
searchByDistrict(district, callback)
searchInPolygon(path, callback)

CloudDataSearchCallback

搜索结果回调

Type: function

参数说明:
status (string) 返回信息状态 可取值:'complete': result 为 AutocompleteResult; 'error': result为错误信息;'no_data': result 为 0
result (object) 返回结果详细信息
Name Description
result.info string 成功状态文字描述
result.count number 查询结果总数
result.datas Array<CloudData> 云数据数组,当根据数据id检索时,数据仅包含一个CloudData
result._id string 数据id,id为数据唯一标识
result._name string 名称
result._location LngLat 坐标
result._address string 地址
result._updatetime string 数据更新时间
result._distance number 距离中心点距离(仅周边查询时返回)
result.custom_field1 any 用户自定义字段1
result._image Array<Image> 图片信息
result._image._id string 图片的id标识
result._image._preurl string 经过压缩处理的图片地址,尺寸为400*400,若期望获取体积较小的图片文件,建议使用此地址
result._image._url string 最大限制获取1024*1024,若您的原始图片小于该尺寸,将返回原图。

地理编码

用于经纬度与地址之间的相互查询

AMap.Geocoder

AMap.Geocoder 地理编码与逆地理编码类,用于地址描述与经纬度坐标之间的转换。用户可以通过回调函数获取查询结果。 相关示例

new AMap.Geocoder(opts: GeocoderOptions)
参数说明:
opts (GeocoderOptions)
Name Description
opts.city string
城市,地理编码时,设置地址描述所在城市
可选值:城市名(中文或中文全拼)、citycode、adcode
默认值:“全国”
opts.radius number
逆地理编码时,以给定坐标为中心点,单位:米
取值范围:0 - 3000
默认值:1000
opts.lang string
设置语言类型
可选值:zh_cn(中文)、en(英文)
默认值:zh_cn(中文
opts.batch boolean 是否批量查询
batch 设置为 false 时,只返回第一条记录
opts.extensions string 逆地理编码时,返回信息的详略
默认值:base,返回基本地址信息
取值为:all,返回地址信息及附近poi、道路、道路交叉口等信息
示例代码:
var geocoder;
//加载地理编码插件
mapObj.plugin(["AMap.Geocoder"], function() { //加载地理编码插件
   geocoder = new AMap.Geocoder({
       radius: 1000, //以已知坐标为中心点,radius为半径,返回范围内兴趣点和道路信息
       extensions: "all" //返回地址描述以及附近兴趣点和道路信息,默认“base”
   });
   //返回地理编码结果
   geocoder.on("complete", geocoder_CallBack);
   //逆地理编码
   geocoder.getAddress(new AMap.LngLat(116.359119, 39.972121));
});
成员函数:
getLocation(keyword, cbk)
setCity(city)
getAddress(location, cbk)
事件:
error
complete

GeocoderCallback

Geocoder getLocation 回调函数

Type: Function

参数说明:
status (string) 当status为complete时,result为GeocodeResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果
result ((info | GeocodeResult)) 地理编码 详查rest文档

ReGeocoderCallback

Geocoder getAddress 回调函数

Type: Function

参数说明:
status (string) 当status为complete时,result为GeocodeResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果
result ((info | ReGeocodeResult)) 逆地理编码 详查rest文档

convertFrom

地球上同一个地理位置的经纬度,在不同的坐标系中,会有少于偏移,国内目前常见的坐标系主要分为三种:
1. 地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。
2. 火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。
3. 百度坐标系——BD-09:百度地图所使用的坐标体系,是在火星坐标系的基础上又进行了一次加密处理。
因此在使用不同坐标系前,我们需要使用 AMap.convertFrom() 方法将这些非高德坐标系进行转换。
相关示例

参数说明:
lnglat (LngLat) 需要转换的坐标或者坐标组
type (String = 'gps') 坐标类型
cbk (Function?) 转换成功后的回调函数
示例代码:
var gps = [116.3, 39.9];
AMap.convertFrom(gps, 'gps', function (status, result) {
  if (result.info === 'ok') {
    var lnglats = result.locations; // Array.<LngLat>
  }
});

路线规划

用于驾车、货车、骑行、步行、公交等的路线规划查询

AMap.Driving

驾车路线规划服务,提供起、终点坐标的驾车导航路线查询功能。AMap. Driving构造函数的参数为 DrivingOptions 对象。DrivingOptions 允许设置驾车策略和返回信息详略。用户可以通过自定义回调函数取回并显示查询结果。若服务请求失败,系统将返回错误信息

new AMap.Driving(opts: DrivingOptions)
参数说明:
opts (DrivingOptions) 参数信息
Name Description
opts.map Map AMap.Map对象, 展现结果的地图实例。当指定此参数后,搜索结果的标注、线路等均会自动添加到此地图上。可选
opts.policy number? 驾车路线规划策略
opts.extensions string (default 'base') 默认值:base,返回基本地址信息\n当取值为:all,返回DriveStep基本信息+DriveStep详细信息
opts.ferry number (default 0) 默认为0,表示可以使用轮渡,为1的时候表示不可以使用轮渡
opts.panel (string | HTMLElement)? 结果列表的HTML容器id或容器元素,提供此参数后,结果列表将在此容器中进行展示。可选
opts.hideMarkers boolean (default false) 设置隐藏路径规划的起始点图标 设置为true:隐藏图标;设置false:显示图标\n默认值为:false
opts.showTraffic boolean? 设置是否显示实时路况信息,默认设置为true。 显示绿色代表畅通,黄色代表轻微拥堵,红色代表比较拥堵,灰色表示无路况信息。
opts.province string? 车牌省份的汉字缩写,用于判断是否限行,与number属性组合使用,可选。例如:京
opts.number string? 除省份之外车牌的字母和数字,用于判断限行相关,与province属性组合使用,可选。例如:NH1N11
opts.isOutline boolean? 使用map属性时,绘制的规划线路是否显示描边。缺省为true
opts.outlineColor string? 使用map属性时,绘制的规划线路的描边颜色。缺省为'white'
opts.autoFitView boolean? 用于控制在路径规划结束后,是否自动调整地图视野使绘制的路线处于视口的可见范围
示例代码:
var driving;
mapObj.plugin(["AMap.Driving"], function() { //加载驾车服务插件
   var drivingOptions = {
       //驾车策略,包括 LEAST_TIME,LEAST_FEE, LEAST_DISTANCE,REAL_TRAFFIC
       policy: AMap.DrivingPolicy.LEAST_TIME
   };
   driving = new AMap.Driving(drivingOptions);
   AMap.Event.addListener(driving, "complete", driving_CallBack); //返回导航查询结果
   //根据起终点坐标规划驾车路线
   MDrive.search(new AMap.LngLat(116.379018, 39.865026), new AMap.LngLat(116.42732, 39.903752));
});
成员函数:
search(points, callback)
search(origin, destination, opts, callback)
clear()
setAvoidPolygons(areas)
clearAvoidPolygons()
getAvoidPolygons()
setAvoidRoad(value)
clearAvoidRoad()
getAvoidRoad()
setProvinceAndNumber(province, number)
setPolicy(policy)
事件:
complete
error

DrivingCallback

Driving.search 的回调函数

Type: Function

参数说明:
status (string) status为complete时,result为DrivingResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果
result ((info | DrivingResult))

DrivingResult

DrivingResult 对象

Type: Object

属性说明:
info (string) : 成功状态说明
origin (LngLat) : 驾车规划起点坐标
destination (LngLat) : 驾车规划终点坐标
start (Poi) : 驾车规划起点
end (Poi) : 驾车规划终点
waypoints (Poi) : 驾车规划途经点
taxi_cost (number) : 打车费用,仅extensions为“all”时返回. 单位: 元
routes (Array<DriveRoute>) : 驾车规划路线列表
Name Description
routes.route DriveRoute 驾车规划路线列表元素
routes.route.distance number 起点到终点的驾车距离,单位:米
routes.route.time number 时间预计,单位:秒
routes.route.policy string 驾车规划策略
routes.route.tolls number 此驾车路线收费金额,单位:元
routes.route.tolls_distance number 收费路段长度,单位:米
routes.route.restriction number 限行结果,0 代表限行已规避或未限行,即该路线没有限行路段,1 代表限行无法规避,即该线路有限行路段
steps (Array<(DriveStepBasic | DriveStepDetail)>) : 子路段DriveStep集合

DriveStepBasic

DriveStep 对象(基本信息)

Type: Object

属性说明:
start_location (LngLat) : 此路段起点
end_location (LngLat) : 此路段终点
instruction (string) : 此路段说明,如“沿北京南站路行驶565米右转”
action (string) : 本驾车子路段完成后动作
assist_action (string) : 驾车子路段完成后辅助动作,一般为到达某个目的地时返回
orientation (string) : 驾车方向
road (string) : 驾车方向
distance (number) : 此路段距离,单位:米
tolls (number) : 此段收费,单位:元
tolls_distance (number) : 收费路段长度,单位:米
toll_road (string) : 主要收费道路
time (number) : 此路段预计使用时间,单位:秒
path (Array<LngLat>) : 此路段坐标集合

DriveStepDetail

DriveStep 对象(详细信息)

Type: Object

属性说明:
cities (Array<ViaCity>) : 途径城市列表
Name Description
cities.city ViaCity 途径城市列表元素
cities.city.name string 途径名称
cities.city.citycode string 城市编码
cities.city.adcode string 区域编码
cities.city.districts Array<District> 途径行政区列表
cities.city.districts.district District 途径行政区列表元素
cities.city.districts.district.name string 区域名称
cities.city.districts.district.adcode string 区域编码
tmcs (Array<TMC>) : 实时交通信息列表
Name Description
tmcs.tmc TMC 实时交通信息列表元素
tmcs.tmc.lcode string 路况信息对应的编码 如果direction是正向 lcode返回值大于0;否则lcode,返回值小于0; 如果返回0则说明此路段无lcode
tmcs.tmc.distance number 此lcode对应的路段长度,单位: 米
tmcs.tmc.status string 路况状态,可能的值有:未知,畅通,缓行,拥堵

AMap.TruckDriving

驾车路线规划服务,提供起、终点坐标的驾车导航路线查询功能。AMap. Driving构造函数的参数为 DrivingOptions 对象。DrivingOptions 允许设置驾车策略和返回信息详略。用户可以通过自定义回调函数取回并显示查询结果。若服务请求失败,系统将返回错误信息

new AMap.TruckDriving(opts: TruckDrivingOptions)
参数说明:
opts (TruckDrivingOptions) 参数信息
Name Description
opts.map Map AMap.Map对象, 展现结果的地图实例。当指定此参数后,搜索结果的标注、线路等均会自动添加到此地图上。可选
opts.policy number? 货车路线规划策略strategy
opts.size number 车型大小,必填,1-4分别对应小型至大型
opts.width number (default 2.5) 宽度,缺省2.5米
opts.height number (default 1.6) 高度,缺省1.6米
opts.load number (default 0.9) 载重,缺省0.9t
opts.weight number (default 10) 自重,缺省10t
opts.axlesNum number (default 2) 轴数,缺省2轴
opts.extensions string (default 'base') 默认值:base,返回基本地址信息\n当取值为:all,返回DriveStep基本信息+DriveStep详细信息
opts.panel (string | HTMLElement)? 结果列表的HTML容器id或容器元素,提供此参数后,结果列表将在此容器中进行展示。可选
opts.hideMarkers boolean (default false) 设置隐藏路径规划的起始点图标 设置为true:隐藏图标;设置false:显示图标\n默认值为:false
opts.showTraffic boolean? 设置是否显示实时路况信息,默认设置为true。 显示绿色代表畅通,黄色代表轻微拥堵,红色代表比较拥堵,灰色表示无路况信息。
opts.province string? 车牌省份的汉字缩写,用于判断是否限行,与number属性组合使用,可选。例如:京
opts.number string? 除省份之外车牌的字母和数字,用于判断限行相关,与province属性组合使用,可选。例如:NH1N11
opts.isOutline boolean? 使用map属性时,绘制的规划线路是否显示描边。缺省为true
opts.outlineColor string? 使用map属性时,绘制的规划线路的描边颜色。缺省为'white'
opts.autoFitView boolean? 用于控制在路径规划结束后,是否自动调整地图视野使绘制的路线处于视口的可见范围
示例代码:
var driving;
mapObj.plugin(["AMap.TruckDriving"], function() { //加载驾车服务插件
   var drivingOptions = {
       //驾车策略,包括 LEAST_TIME,LEAST_FEE, LEAST_DISTANCE,REAL_TRAFFIC
       policy: AMap.DrivingPolicy.LEAST_TIME
   };
   driving = new AMap.TruckDriving(drivingOptions);
   AMap.Event.addListener(driving, "complete", driving_CallBack); //返回导航查询结果
   //根据起终点坐标规划驾车路线
   MDrive.search(new AMap.LngLat(116.379018, 39.865026), new AMap.LngLat(116.42732, 39.903752));
});
var TruckDriving;
mapObj.plugin(["AMap.TruckDriving"], function() { //加载驾车服务插件
   var TruckDrivingOptions = {
       //驾车策略,包括 LEAST_TIME,LEAST_FEE, LEAST_DISTANCE,REAL_TRAFFIC
       policy: AMap.TruckDrivingPolicy.LEAST_TIME
   };
   TruckDriving = new AMap.TruckDriving(TruckDrivingOptions);
   AMap.Event.addListener(TruckDriving, "complete", TruckDriving_CallBack); //返回导航查询结果
   //根据起终点坐标规划驾车路线
   MDrive.search(new AMap.LngLat(116.379018, 39.865026), new AMap.LngLat(116.42732, 39.903752));
});
成员函数:
clear()
search(points, callback)
search(locations, callback)
setProvinceAndNumber(province, number)
setPolicy(policy)
事件:
complete
error

AMap.Walking

步行路线规划服务,提供起、终点坐标的驾车导航路线查询功能。AMap. Driving构造函数的参数为 DrivingOptions 对象。DrivingOptions 允许设置驾车策略和返回信息详略。用户可以通过自定义回调函数取回并显示查询结果。若服务请求失败,系统将返回错误信息

new AMap.Walking(opts: WalkingOptions)
参数说明:
opts (WalkingOptions) 参数信息
Name Description
opts.map Map AMap.Map对象, 展现结果的地图实例。当指定此参数后,搜索结果的标注、线路等均会自动添加到此地图上。可选
opts.panel (string | HTMLElement)? 结果列表的HTML容器id或容器元素,提供此参数后,结果列表将在此容器中进行展示。可选
opts.hideMarkers boolean (default false) 设置隐藏路径规划的起始点图标 设置为true:隐藏图标;设置false:显示图标\n默认值为:false 显示绿色代表畅通,黄色代表轻微拥堵,红色代表比较拥堵,灰色表示无路况信息。
opts.isOutline boolean? 使用map属性时,绘制的规划线路是否显示描边。缺省为true
opts.outlineColor string? 使用map属性时,绘制的规划线路的描边颜色。缺省为'white'
opts.autoFitView boolean? 用于控制在路径规划结束后,是否自动调整地图视野使绘制的路线处于视口的可见范围
示例代码:
var mwalk;
  mapObj.plugin(["AMap.Walking"], function() { //加载步行导航插件
   mwalk = new AMap.Walking (); //构造步行导航类
   AMap.event.addListener(mwalk, "complete", walking_CallBack); //返回导航查询结果
   //根据起、终点坐标规划步行路线
   mwalk.search(new AMap.LngLat(116.379018, 39.865026), new AMap.LngLat(116.42732, 39.903752));
 });
var mwalk;
  mapObj.plugin(["AMap.Walking"], function() { //加载步行导航插件
   mwalk = new AMap.Walking (); //构造步行导航类
   AMap.Event.addListener(mwalk, "complete", walking_CallBack); //返回导航查询结果
   //根据起、终点坐标规划步行路线
   mwalk.search(new AMap.LngLat(116.379018, 39.865026), new AMap.LngLat(116.42732, 39.903752));
 });
成员函数:
clear()
search(origin, destination, callback)
search(points, callback)
事件:
complete
error

WalkingCallback

Walking.search 的回调函数

Type: Function

参数说明:
status (string) status为complete时,result为 WalkingResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果
result ((info | WalkingResult))

WalkingResult

WalkingResult 对象

Type: Object

属性说明:
info (string) : 成功状态说明
origin (LngLat) : 步行规划起点坐标
destination (LngLat) : 步行规划终点坐标
start (Poi) : 步行规划起点
end (Poi) : 步行规划终点
count (number) : 步行导航路段数目
routes (Array<WalkRoute>) : 步行规划路线列表
Name Description
routes.distance number 起点到终点总步行距离,单位:米
routes.time number 步行时间预计,单位:秒
routes.steps Array<WalkStep> 路段列表,以道路名称作为分段依据,将整个步行导航方案分隔成若干路段
routes.steps.instruction string 步行子路段描述,规则:沿 road步行 distance 米 action,例:”沿北京站街步行351米”
routes.steps.distance number 步行子路段距离,单位:米
routes.steps.time number 步行子路段预计使用时间,单位:秒
routes.steps.path Array<LngLat> 步行子路段坐标集合
routes.steps.road string 道路
routes.steps.action string 本步行子路段完成后动作
routes.steps.assist_action string 步行子路段完成后辅助动作,一般为到达某个公交站点或目的地时返回

AMap.Transfer

公交换乘服务,提供起始点公交路线规划服务,目前公交换乘仅支持同一城市的公交路线规划,跨城市出行规划请参考驾车导航查询。公交换乘查询返回结果整合步行信息,若换乘路段(Segment)换乘类型为地铁 “SUBWAY”,则至少包含一条地铁口信息(SubwayEntrance)。用户可以通过自定义回调函数取回并显示查询结果。若服务请求失败,系统将返回错误信息。

new AMap.Transfer(opts: DrivingOptions)
参数说明:
opts (DrivingOptions) 参数信息
Name Description
opts.map Map AMap.Map对象, 展现结果的地图实例。当指定此参数后,搜索结果的标注、线路等均会自动添加到此地图上。可选
opts.city string 公交换乘的城市,支持城市名称、城市区号、电话区号,此项为必填
opts.policy number 公交换乘策略strategy
opts.nightflag boolean (default false) 是否计算夜班车,默认为不计算。true:计算,false:不计算
opts.extensions string (default 'base') 默认值:base,返回基本地址信息\n当取值为:all,返回DriveStep基本信息+DriveStep详细信息
opts.panel (string | HTMLElement)? 结果列表的HTML容器id或容器元素,提供此参数后,结果列表将在此容器中进行展示。可选
opts.hideMarkers boolean (default false) 设置隐藏路径规划的起始点图标 设置为true:隐藏图标;设置false:显示图标\n默认值为:false
opts.isOutline boolean? 使用map属性时,绘制的规划线路是否显示描边。缺省为true
opts.outlineColor string? 使用map属性时,绘制的规划线路的描边颜色。缺省为'white'
opts.autoFitView boolean? 用于控制在路径规划结束后,是否自动调整地图视野使绘制的路线处于视口的可见范围
示例代码:
var trans;
mapObj.plugin(["AMap.Transfer"], function() { //加载公交换乘插件
   transOptions = {
       city: '北京市', //公交城市
       policy: AMap.TransferPolicy.LEAST_TRANSFER //乘车策略
   };
   trans = new AMap.Transfer (transOptions); //构造公交换乘类
   AMap.Event.addListener(trans, "complete", trans_CallBack); //返回导航查询结果
   AMap.Event.addListener(trans, "error", function(e){alert(e.info);}); //返回错误信息
   //根据起、终点坐标查询公交换乘路线
   trans.search(new AMap.LngLat(116.379018, 39.865026), new AMap.LngLat(116.42732, 39.903752));
});
成员函数:
search(origin, destination, callback)
search(points, callback)
leaveAt(time, date)
clear()
setPolicy(policy)
setCity(city)
setCityd(cityd)
事件:
error
complete

TransferCallback

Transfer.search 的回调函数 相关示例

Type: Function

参数说明:
status (string) 当status为complete时,result为TransferResult; 当status为error时,result为错误信息info; 当status为no_data时,代表检索返回0结果
result ((info | TransferResult))

TransferResult

TransferResult 对象 详细文档,查阅rest接口 '返回结果参数说明'

Type: Object

AMap.Riding

骑行路线规划服务,提供起、终点坐标的驾车导航路线查询功能。AMap. Driving构造函数的参数为 DrivingOptions 对象。DrivingOptions 允许设置驾车策略和返回信息详略。用户可以通过自定义回调函数取回并显示查询结果。若服务请求失败,系统将返回错误信息

new AMap.Riding(opts: RidingOptions)
参数说明:
opts (RidingOptions) 参数信息
Name Description
opts.map Map AMap.Map对象, 展现结果的地图实例。当指定此参数后,搜索结果的标注、线路等均会自动添加到此地图上。可选
opts.policy number (default 0) 骑行路线规划策略;默认值:0可选值为: 0:推荐路线及最快路线综合 1:推荐路线 2:最快路线
opts.panel (string | HTMLElement)? 结果列表的HTML容器id或容器元素,提供此参数后,结果列表将在此容器中进行展示。可选
opts.hideMarkers boolean (default false) 设置隐藏路径规划的起始点图标 设置为true:隐藏图标;设置false:显示图标\n默认值为:false 显示绿色代表畅通,黄色代表轻微拥堵,红色代表比较拥堵,灰色表示无路况信息。
opts.isOutline boolean? 使用map属性时,绘制的规划线路是否显示描边。缺省为true
opts.outlineColor string? 使用map属性时,绘制的规划线路的描边颜色。缺省为'white'
opts.autoFitView boolean? 用于控制在路径规划结束后,是否自动调整地图视野使绘制的路线处于视口的可见范围
示例代码:
var mwalk;
  mapObj.plugin(["AMap.Riding"], function() { //加载步行导航插件
   mwalk = new AMap.Riding (); //构造步行导航类
   AMap.Event.addListener(mwalk, "complete", riding_CallBack); //返回导航查询结果
   //根据起、终点坐标规划步行路线
   mwalk.search(new AMap.LngLat(116.379018, 39.865026), new AMap.LngLat(116.42732, 39.903752));
 });
成员函数:
clear()
setPolicy(policy)
search(points, callback)
search(origin, destination, callback)
事件:
error
complete

RidingCallback

Riding.search 的回调函数

Type: Function

参数说明:
status (string) status为complete时,result为 RidingResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果
result ((info | RidingResult))

RidingResult

RidingResult 详细文档,查阅rest接口'返回结果参数说明'

Type: Object

AMap.DragRoute

new AMap.DragRoute(map: Map, path: Array<LngLat>, policy: String, opts: DragRouteOptions)
参数说明:
map (Map) 指定的地图对象
path (Array<LngLat>) 导航的起点、途经点、终点的经纬度坐标数组
opts (DragRouteOptions) 配置项
Name Description
opts.polyOption PolylineOptions? 设置拖拽路线插件的路线属性对象,包括线样式、宽度、颜色等,参考 PolylineOptions 列表
opts.startMarkerOptions MarkerOptions? 设置拖拽路线插件起点点标记属性对象,包括点标记样式、大小等,参考 MarkerOptions 列表
opts.midMarkerOptions MarkerOptions? 设置拖拽路线插件途经点点标记属性对象,包括点标记样式、大小等,参考 MarkerOptions 列表
opts.endMarkerOptions MarkerOptions? 设置拖拽路线插件终点点标记属性对象,包括点标记样式、大小等,参考 MarkerOptions 列表
opts.showTraffic boolean (default true) 设置显示实时路况信息,true:路线中显示实时路况信息,false:关闭实时路况信息。 默认值:true
示例代码:
var arr = new Array();//经纬度坐标数组
arr.push(new AMap.LngLat("116.403322","39.920255")); //初始的导航起点
arr.push(new AMap.LngLat("116.420703","39.897555")); //初始的导航途经点
arr.push(new AMap.LngLat("116.430703","39.897555")); //初始的导航途经点
arr.push(new AMap.LngLat("116.410703","39.897555")); //初始的导航终点
AMap.plugin(['AMap.DragRoute'],function(){
   dragRoute = new AMap.DragRoute(mapObj, arr, AMap.DrivingPolicy.LEAST_FEE);
   dragRoute.search(); //查询导航路径并开启拖拽导航
});
成员函数:
search()
getWays()
getRoute()
destroy()
事件:
complete
addway

AMap.GraspRoad

轨迹纠偏服务插件。用于将一组带方向的、可能偏离道路的经纬度轨迹,纠正为准确沿着道路的一条经纬度路径。比如根据间隔采集的车辆位置和朝向信息生成行驶轨迹

new AMap.GraspRoad()
成员函数:
driving(OriginPath, callback)

GraspRoadCallback

Type: Function

参数说明:
err (Object) 正确时为空
GraspedPath (Object) 返回数据, 详查rest文档
Name Description
GraspedPath.distance number 总距离
GraspedPath.data Object
GraspedPath.data.points Array<Object> 轨迹点数据
GraspedPath.data.points.x number 经度
GraspedPath.data.points.x number 纬度

其他服务

行政区查询、天气查询、公交站点和公交线路查询

AMap.DistrictSearch

行政区查询服务(AMap.DistrictSearch)提供行政区信息的查询, 使用该服务可以获取到行政区域的区号、城市编码、中心点、边界、下辖区域等详细信息,为基于行政区域的地图功能提供支持。

new AMap.DistrictSearch(opts: DistrictSearchOptions, level: string, showbiz: boolean, extensions: string, subdistrict: number)
参数说明:
opts (DistrictSearchOptions) 默认参数
level (string) 关键字对应的行政区级别或商圈,可选值: country:国家 province:省/直辖市 city:市 district:区/县 biz_area:商圈
showbiz (boolean) 是否显示商圈,默认值true 可选为true/false,为了能够精准的定位到街道,特别是在快递、物流、送餐等场景下,强烈建议将此设置为false
extensions (string) 是否返回行政区边界坐标点,默认值:base,不返回行政区边界坐标点,取值:all,返回完整行政区边界坐标点
subdistrict (number) 显示下级行政区级数(行政区级别包括:国家、省/直辖市、市、区/县4个级别),商圈为区/县下一 级,可选值:0、1、2、3,默认值:1 0:不返回下级行政区 1:返回下一级行政区 2:返回下两级行政区 3:返回下三级行政区
示例代码:
AMap.plugin('AMap.DistrictSearch', function () {
  var districtSearch = new AMap.DistrictSearch({
    // 关键字对应的行政区级别,country表示国家
    level: 'country',
    //  显示下级行政区级数,1表示返回下一级行政区
    subdistrict: 1
  })
  // 搜索所有省/直辖市信息
  districtSearch.search('中国', function(status, result) {
    // 查询成功时,result即为对应的行政区信息
  })
})
// 除了获取所有省份/直辖市信息外,您可以通过修改level和subdistrict并配合search传入对应keyword查询对应信息。
静态方法:
setLevel(level)
setSubdistrict(subdistrict)
search(keyword, DistrictSearchCallBack, keywords)
事件:
error
complete

AMap.Weather

天气查询服务,根据城市名称或区域编码返回城市天气预报信息,包括实时天气信息和四天天气预报。

new AMap.Weather()
示例代码:
map.plugin(['AMap.Weather'], function() {
	//构造 Weather 类
	var amapWeather = new AMap.Weather(); 

	//查询实时天气信息,cityName 见 http://restapi.amap.com/v3/config/district?level=city&sublevel=0&extensions=all&output=xml&key=d9fba2f3196b6a4419358693a2b0d9a9
	amapWeather.getLive('北京'); 

	//查询四天预报天气,包括查询当天天气信息
	amapWeather.getForecast('北京'); 

	AMap.event.addListener(amapWeather, "complete", function callback(){
		//当查询成功时触发 complete 事件
	}); 
});
成员函数:
getLive(city, callback)
getForecast(city, callback)
事件:
complete
error

WeatherLiveResult

Type: Function

参数说明:
err (Object) 正确时为空
LiveData (Object) 返回数据
Name Description
LiveData.info String 成功状态文字描述
LiveData.province String 省份名
LiveData.city String 城市名
LiveData.adcode String 区域编码
LiveData.weather String 天气现象,详见天气现象列表
LiveData.temperature String 实时气温,单位:摄氏度
LiveData.windDirection String 风向,风向编码对应描述
LiveData.windPower Number 风力,风力编码对应风力级别,单位:级
LiveData.humidity String 空气湿度(百分比)
LiveData.reportTime String 数据发布的时间

WeatherForecastResult

Type: Function

参数说明:
err (Object) 正确时为空
ForecastData (Object) 返回数据
Name Description
ForecastData.info String 成功状态文字描述
ForecastData.province String 省份名
ForecastData.city String 城市名
ForecastData.adcode String 区域编码
ForecastData.reportTime String 数据发布的时间
ForecastData.forecast Array 天气预报数组,包括当天至第三天的预报数据
ForecastData.forecast.date String 日期,格式为“年-月-日”
ForecastData.forecast.week String 星期
ForecastData.forecast.dayWeather String 白天天气现象,详见天气现象列表
ForecastData.forecast.nightWeather String 夜间天气现象,详见天气现象列表
ForecastData.forecast.dayTemp Number 白天温度
ForecastData.forecast.nightTemp Number 白天温度
ForecastData.forecast.dayWindDir String 白天风向
ForecastData.forecast.dayWindPower String 白天风力
ForecastData.forecast.nightWindPower String 夜间风力

AMap.StationSearch

AMap.StationSearch 公交站点查询服务,根据输入关键字、ID查询公交站点信息。 用户可以通过自定义回调函数取回并显示查询结果。若服务请求失败,系统将返回错误信息。

new AMap.StationSearch(opts: StationSearchOptions)
参数说明:
opts (StationSearchOptions) 参数信息
Name Description
opts.pageIndex Number 页码(如pageIndex为2,pageSize为10,那么显示的应是第11-20条返回结果) 默认值:1,取值范围:1-100,超过取值范围按默认,超出实际页数按最大值返回
opts.pageSize Number 单页显示结果条数,默认值:20,取值范围:1-100,超过取值范围按默认
opts.city String 公交站点所在城市,默认值:“全国”,可选值:cityname(中文或中文全拼)、citycode、adcode
示例代码:
//加载公交站点查询插件
mapObj.plugin(["AMap.StationSearch"], function() {
   //实例化公交站点查询类
   var station = new AMap.StationSearch({
       pageIndex: 1, //页码
       pageSize: 10, //单页显示结果条数
       city:'010'    //确定搜索城市
   });
   station.search('东直门'); //查询
   AMap.event.addListener(station, 'complete', stationSearch_CallBack);
   AMap.event.addListener(station, 'error', function(e) {alert(e.info);});
});
静态方法:
StationSearchOptions
成员函数:
setPageIndex
setPageSize
setCity
setCity
setCity
事件:
StationSearchEvent

AMap.LineSearch

AMap.LineSearch 公交路线查询类,通过extensions属性控制返回信息详略。 公交线路信息包括起、终点、途径站点,首、末班车时间等信息。用户可以通过自定义回调函数取回并显示查询结果。 若服务请求失败,系统将返回错误信息

new AMap.LineSearch(opts: LineSearchOptions, extensions: String)
参数说明:
opts (LineSearchOptions) 参数信息
Name Description
opts.pageIndex Number 页码(如pageIndex为2,pageSize为10,那么显示的应是第11-20条返回结果) 默认值:1,取值范围:1-100,超过取值范围按默认,超出实际页数按最大值返回
opts.pageSize Number 单页显示结果条数,默认值:20,取值范围:1-100,超过取值范围按默认
opts.city String 公交站点所在城市,默认值:“全国”,可选值:cityname(中文或中文全拼)、citycode、adcode
extensions (String) 此项仅公交路线查询时有效,默认值:base,返回公交路线基本信息,当取值为:all,返回公交路线基本信息+详细信息
示例代码:
//加载公交线路查询插件
mapObj.plugin(["AMap.LineSearch"], function() {
    //实例化公交线路查询类
    var linesearch = new AMap.LineSearch({
        pageIndex:1,
        pageSize:1,
        extensions:'all'
    });
    //搜索“536”相关公交线路
    linesearch.search('536');
    AMap.event.addListener(linesearch, "complete", lineSearch_Callback);
   AMap.event.addListener(citysearch, "error", function(e){alert(e.info);});
});
静态方法:
LineSearchOptions
成员函数:
setPageIndex
setPageSize
setCity(city)
setCity
setCity
setCity
事件:
LineSearchEvent

定位

用于进行城市定位或者精确定位的插件类型

AMap.Geolocation

鹰眼控件,用于显示缩略地图,显示于地图右下角,可以随主图的视口变化而变化,也可以配置成固定位置实现类似于南海附图的效果。

new AMap.Geolocation(options: GeolocationOptions)
参数说明:
options (GeolocationOptions) 初始化参数
Name Description
options.position string 悬停位置,默认为"RB",即右下角
options.offset [number, number] 缩略图距离悬停位置的像素距离,如 [2,2]
options.borderColor string 缩略图的高度,同CSS,如'silver'
options.borderRadius string 缩略图的高度,同CSS,如'5px'
options.buttonSize string 箭头按钮的像素尺寸,同CSS,如'12px'
options.convert boolean 是否将定位结果转换为高德坐标
options.enableHighAccuracy boolean 进行浏览器原生定位的时候是否尝试获取较高精度,可能影响定位效率,默认为false
options.timeout number 定位的超时时间,毫秒
options.maximumAge number 浏览器原生定位的缓存时间,毫秒
options.showButton boolean 是否显示定位按钮,默认为true
options.showCircle boolean 是否显示定位精度圆,默认为true
options.showMarker boolean 是否显示定位点,默认为true
options.markerOptions MarkerOptions 定位点的样式
options.circleOptions CircleOptions 定位圆的样式
options.panToLocation boolean 定位成功后是否自动移动到响应位置
options.zoomToAccuracy boolean 定位成功后是否自动调整级别
options.GeoLocationFirst boolean 是否显示打开关闭的按钮
options.noIpLocate number 是否禁用IP精确定位,默认为0,0:都用 1:手机上不用 2:PC上不用 3:都不用
options.noGeoLocation number 是否禁用浏览器原生定位,默认为0,0:都用 1:手机上不用 2:PC上不用 3:都不用
options.useNative boolean 是否与高德定位SDK能力结合,需要同时使用安卓版高德定位sdk,否则无效
options.getCityWhenFail boolean 定位失败之后是否返回基本城市定位信息
options.needAddress boolean 是否需要将定位结果进行逆地理编码操作
options.extensions string 是否需要详细的逆地理编码信息,默认为'base'只返回基本信息,可选'all'
成员函数:
getCurrentPosition(callback)
getCityInfo(callback)

GeolocationCallBack

Geolocation插件的定位回调函数

Type: Function

参数说明:
status (string) 'complete' 或者 'error'
result (GeolocationResult) 定位结果

GeolocationResult

浏览器定位的定位结果,定位的过程和失败信息可以从 message 字段中获取

Type: Object

属性说明:
position (LngLat) : 定位到的经纬度位置
accuracy (number) : 定位精度,米
location_type (number) : 定位的类型,ip/h5/sdk/ipcity
message (number) : 定位过程的信息,用于排查定位失败原因
isConverted (number) : 是否已经转换为高德坐标
info (number) : 'SUCCESS' 或者 'PERMISSION_DENIED' 或者 'TIME_OUT' 或者 'POSITION_UNAVAILABLE'
addressComponent (number) : needAddress的时候返回,结构化地址信息
formattedAddress (number) : needAddress的时候返回,规范地址
pois (number) : needAddress的时候返回,定位点附近的POI信息
roads (number) : needAddress的时候返回,定位点附近的道路信息
crosses (number) : needAddress的时候返回,定位点附近的交叉口信息

AMap.CitySearch

AMap.CitySearch 根据IP返回对应城市信息,提供根据输入IP或自动获取IP获取对应城市信息功能。 用户可以通过自定义回调函数取回并显示查询结果。 若服务请求失败,系统将返回错误信息

new AMap.CitySearch()
成员函数:
getLocalCity(CitySearchCallback, cbk)
getCityByIp(ip, CitySearchCallback)
事件:
complete
error

通用库

一些通用的函数库

GeometryUtil

GeometryUtil为一组空间数据计算的函数库,v1.4.2新增。支持点线面的空间关系计算、长度、面积计算等等,

成员函数:
distance(p1, p2)
ringArea(ring)
isClockwise(ring)
typePolygon(ring)
makesureClockwise(ring)
makesureAntiClockwise(ring)
distanceOfLine(ring)
ringRingClip(ring1, ring2)
doesSegmentsIntersect(p1, p2, p3, p4)
doesSegmentLineIntersect(p1, p2, line)
doesSegmentRingIntersect(p1, p2, ring)
doesSegmentPolygonIntersect(p1, p2)
doesLineLineIntersect(line, line)
doesLineRingIntersect(line, ring)
doesRingRingIntersect(ring1, ring2)
pointInRing(p, ring)
isPointInRing(p, ring)
isRingInRing(ring1, ring2)
isPointInPolygon(p, rings)
isPointOnSegment(p1, p2, p3, tolerance)
isPointOnLine(p, line, tolerance)
isPointOnRing(p, ring, tolerance)
isPointOnPolygon(p, tolerance)
closestOnSegment(p1, p2, p3)
closestOnLine(p, line)
distanceToSegment(p1, p2, p3)
distanceToLine(p, line)

DomUtil

成员函数:
getViewport(obj)
getViewportOffset(element)
create(tagName, container, className, position)
hasClass(el, name)
addClass(el, name)
setClass(el, name)
removeClass(el, name)
remove(el)
empty(el)
rotate(target, angle, center)
setCss(obj, css)
setOpacity(el, value)

Browser

属性说明:
us (string) : 当前浏览器userAgent
mobile (boolean) : 是否移动设备
plat (string) : 平台类型,如:'windows'、'mac'、'ios'、'android'、'other'
windows (boolean) : 是否windows设备
ios (boolean) : 是否iOS设备
iPad (boolean) : 是否iPad
Phone (boolean) : 是否iPhone
android (boolean) : 是否安卓设备
android23 (boolean) : 是否安卓4以下系统
chrome (boolean) : 是否Chrome浏览器
firefox (boolean) : 是否火狐浏览器
safari (boolean) : 是否Safari浏览器
wechat (boolean) : 是否微信
uc (boolean) : 是否UC浏览器
qq (boolean) : 是否QQ或者QQ浏览器
ie (boolean) : 是否IE
ie6 (boolean) : 是否IE6
ie7 (boolean) : 是否IE7
ie8 (boolean) : 是否IE8
ie9 (boolean) : 是否IE9
ie10 (boolean) : 是否IE10
ie11 (boolean) : 是否IE11
ielt9 (boolean) : 是否IE9以下
edge (boolean) : 是否Edge浏览器
isLocalStorage (boolean) : 是否支持LocaStorage
isGeolocation (boolean) : 是否支持Geolocation
mobileWebkit (boolean) : 是否Webkit移动浏览器
mobileWebkit3d (boolean) : 是否支持Css3D的Webkit移动端浏览器
retina (boolean) : 是否高清屏幕,devicePixelRatio>1
touch (boolean) : 是否触屏
msPointer (boolean) : 是否msPointer设备
pointer (boolean) : 是否pointer设备
webkit (boolean) : 是否webkit浏览器
webkit3d (boolean) : 是否支持Css3D的Webkit浏览器
gecko3d (boolean) : 是否支持Css3D的gecko浏览器
ie3d (boolean) : 是否支持Css3D的ie浏览器
any3d (boolean) : 是否支持Css3D的浏览器
opera3d (boolean) : 是否支持Css3D的opera浏览器
isCanvas (boolean) : 是否支持canvas
isSvg (boolean) : 是否支持svg
isVML (boolean) : 是否支持vml
isWorker (boolean) : 是否支持WebWorker
isWebsocket (boolean) : 是否支持WebSocket
isWebGL (boolean) : 是否支持webgl

Util

成员函数:
isDOM(obj)
colorNameToHex(colorName)
rgbHex2Rgba(hex)
argbHex2Rgba(hex)
isEmpty(obj)
deleteItemFromArray(array, item)
deleteItemFromArrayByIndex(array, index)
indexOf(array, item)
format(num, digits)
isArray(obj)
includes(array, item)
cancelAnimFrame(id)
requestAnimFrame(func)
requestIdleCallback(func)
cancelIdleCallback(id)