开发 地图 JS API 1.4 参考手册 地图

地图 最后更新时间: 2021年01月22日

Map 类

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

构造函数

说明

是否插件

AMap.Map(container:String/HTMLDivElement, opts:MapOptions)

构造一个地图对象,参数container中传入地图容器DIV的ID值或者DIV对象,opts地图初始化参数对象,参数详情参看MapOptions列表。

MapOptions

类型

说明

view

View2D

地图视口,用于控制影响地图静态显示的属性,如:地图中心点“center”

推荐直接使用zoom、center属性为地图指定级别和中心点

(自v1.3 新增)

layers

Array

地图图层数组,数组可以是图层 中的一个或多个,默认为普通二维地图。

当叠加多个图层时,普通二维地图需通过实例化一个TileLayer类实现

(自v1.3 新增)

zoom

Number

地图显示的缩放级别,若center与level未赋值,地图初始化默认显示用户所在城市范围

 3D地图下,zoom值,可以设置为浮点数。(在V1.3.0版本level参数调整为zoom,3D地图修改自V1.4.0开始生效)

center

LngLat

地图中心点坐标值

labelzIndex

Number

地图标注显示顺序,大于110即可将底图上的默认标注显示在覆盖物(圆、折线、面)之上。

zooms

Array

地图显示的缩放级别范围

在PC上,默认为[3,18],取值范围[3-18];

在移动设备上,默认为[3,19],取值范围[3-19]

lang

String

地图语言类型

可选值:zh_cn:中文简体,en:英文,zh_en:中英文对照

默认为: zh_cn:中文简体

注:由于图面内容限制,中文、英文 、中英文地图POI可能存在不一致的情况;

       自定义地图不支持英文与中英文显示。

(自v1.3 新增)

defaultCursor

String

地图默认鼠标样式。参数defaultCursor应符合CSS的cursor属性规范

crs

String

地图显示的参考坐标系,取值:

'EPSG3857'

'EPSG3395'

'EPSG4326'

自V1.3.0移入view对象中

animateEnable

Boolean

地图平移过程中是否使用动画(如调用panBy、panTo、setCenter、setZoomAndCenter等函数,将对地图产生平移操作,是否使用动画平移的效果),默认为true,即使用动画

isHotspot

Boolean

是否开启地图热点和标注的hover效果。PC端默认是true,移动端默认是false 

(自v1.3 新增)

defaultLayer

TileLayer

当前地图中默认显示的图层。默认图层可以是TileLayer.Satellite等切片地图,也可以是通过TileLayer自定义的切片图层

(自v1.3 废弃)

rotateEnable

Boolean

地图是否可旋转,3D视图默认为true,2D视图默认false。(V1.3版本新增,3D视图自V1.4.0开始支持)

自v1.4.8开始,当此属性为false时,地图以初始属性设置的rotation值为旋转角度,同时setRotation和鼠标手势交互操作将不能改变旋转角度

resizeEnable

Boolean

是否监控地图容器尺寸变化,默认值为false

showIndoorMap

Boolean

是否在有矢量底图的时候自动展示室内地图,PC端默认是true,移动端默认是false

indoorMap

IndoorMap

在展示矢量图的时候自动展示室内地图图层,当地图complete之后可以获取到该对象

expandZoomRange

Boolean

是否支持可以扩展最大缩放级别,和zooms属性配合使用

设置为true的时候,zooms的最大级别在PC上可以扩大到20级,移动端还是高清19/非高清20

dragEnable

Boolean

地图是否可通过鼠标拖拽平移,默认为true。此属性可被setStatus/getStatus 方法控制

zoomEnable

Boolean

地图是否可缩放,默认值为true。此属性可被setStatus/getStatus 方法控制

doubleClickZoom

Boolean

地图是否可通过双击鼠标放大地图,默认为true。此属性可被setStatus/getStatus 方法控制

keyboardEnable

Boolean

地图是否可通过键盘控制,默认为true

方向键控制地图平移,"+"和"-"可以控制地图的缩放,

Ctrl+“→”顺时针旋转,Ctrl+“←”逆时针旋转。

此属性可被setStatus/getStatus 方法控制

jogEnable

Boolean

地图是否使用缓动效果,默认值为true。此属性可被setStatus/getStatus 方法控制

scrollWheel

Boolean

地图是否可通过鼠标滚轮缩放浏览,默认为true。此属性可被setStatus/getStatus 方法控制

touchZoom

Boolean

地图在移动终端上是否可通过多点触控缩放浏览地图,默认为true。关闭手势缩放地图,请设置为false。

touchZoomCenter

Number

可缺省,当touchZoomCenter=1的时候,手机端双指缩放的以地图中心为中心,否则默认以双指中间点为中心

mapStyle

String

设置地图的显示样式,目前支持两种地图样式:

第一种:自定义地图样式,如"amap://styles/d6bf8c1d69cea9f5c696185ad4ac4c86"

可前往地图自定义平台定制自己的个性地图样式;

第二种:官方样式模版,如"amap://styles/grey"

其他模版样式及自定义地图的使用说明见开发指南

features

Array

设置地图上显示的元素种类

支持'bg'(地图背景)、'point'(POI点)、'road'(道路)、'building'(建筑物)

showBuildingBlock

Boolean

设置地图显示3D楼块效果,移动端也可使用。推荐使用。

 viewMode 

String 

默认为‘2D’,可选’3D’,选择‘3D’会显示 3D 地图效果。(自V1.4.0开始支持)

pitch 

Number 

俯仰角度,默认0,[0,83],2D地图下无效 。(自V1.4.0开始支持)

pitchEnable

Boolean 

是否允许设置俯仰角度,3D视图下为true,2D视图下无效。(自V1.4.0开始支持)

自v1.4.8开始,当此属性为false时,地图以初始属性设置的pitch值为倾斜角度,同时setPitch和鼠标手势交互操作将不能改变倾斜角度

buildingAnimation

Boolean

楼块出现和消失的时候是否显示动画过程,3D视图有效,PC端默认true,手机端默认false。(自V1.4.0开始支持)

skyColor

String

调整天空颜色,配合自定义地图,3D视图有效,如‘#ff0000’。(自V1.4.0开始支持)

mask

Array

为 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]]
  ]
]

另外,可以通过给指定图层添加rejectMapMask属性使得指定图层不适用掩模,参考示例

方法

返回值

说明

poiOnAMAP(obj:Object)


唤起高德地图客户端marker页

其中Object里面包含有{  id: "B000A7BD6C",POIID

name:String, 必要参数

location:LngLat|position属性  必须参数

}

detailOnAMAP(obj:Object)


唤起高德地图客户端marker详情页

其中Object里面包含有{  id: "B000A7BD6C",POIID

name:String, 必要参数

location:LngLat|position属性  必须参数

}

getZoom( )

Number

获取当前地图缩放级别,在PC上,默认取值范围为[3,18];在移动设备上,默认取值范围为[3-19]

3D地图会返回浮点数,2D视图为整数。(3D地图自V1.4.0开始支持)

getLayers( )

Array

获取地图图层数组,数组为一个或多个图层

(自v1.3 新增)

getCenter( )

LngLat

获取地图中心点经纬度坐标值。

getContainer( )

HTMLDivElement

返回地图对象的容器

getCity(callback:function(result))

{province,

city,

citycode,

district}

获取地图中心点所在区域,回调函数返回对象属性分别对应为{省,市,区/县}

getBounds( )

Bounds

获取当前地图视图范围,获取当前可视区域。

3D地图下返回类型为AMap.ArrayBounds,2D地图下仍返回AMap.Bounds 。(3D自V1.4.0开始支持)

getLabelzIndex( )

Number

获取当前地图标注的显示顺序

getLimitBounds( )

Bounds

获取Map的限制区域

getLang( )

String

获取底图语言类型

(自v1.3 新增)

getSize( )

Size

获取地图容器像素大小

getRotation( )

Number

获取地图顺时针旋转角度

(自v1.3 新增)

getStatus( )

Object

获取当前地图状态信息,包括是否可鼠标拖拽移动地图、地图是否可缩放、地图是否可旋转(rotateEnable)、

是否可双击放大地图、是否可以通过键盘控制地图旋转(keyboardEnable)等

getDefaultCursor( )

String

获取地图默认鼠标指针样式

getResolution(point:LngLat)

Number

获取指定位置的地图分辨率,单位:米/像素。 参数point有指定值时,返回指定点地图分辨率,point缺省时,默认返回当前地图中心点位置的分辨率

getScale(dpi:Number)

Number

获取当前地图比例尺。表示当前屏幕距离一米代表实际距离多少米

setZoom(level:Number)


设置地图显示的缩放级别,在PC上,参数zoom可设范围:[3,18];在移动端:参数zoom可设范围:[3,19]

3D地图下,可将zoom设置为浮点数。(3D自V1.4.0开始支持)

setLabelzIndex(index:Number)


设置地图标注显示的顺序

setLayers(layers:Array)


设置地图图层数组,数组为一个或多个图层。当叠加多个图层时,普通二维地图需通过实例化一个TileLayer类实现(自v1.3 新增)

add(overlayers:Array)


添加覆盖物/图层。参数为单个覆盖物/图层,或覆盖物/图层的数组。

remove(overlayers:Array)


删除覆盖物/图层。参数为单个覆盖物/图层,或覆盖物/图层的数组。

getAllOverlays(type)

Object

返回添加的覆盖物对象,可选类型包括marker、circle、polyline、polygon; Type可缺省,缺省时返回所有覆盖物(marker、circle、polyline、polygon)。 返回结果不包含官方覆盖物等,比如定位marker,周边搜索圆等

setCenter(position:LngLat)


设置地图显示的中心点

setZoomAndCenter

(zoomLevel:Number,center:LngLat) 相关示例


地图缩放至指定级别并以指定点为地图显示中心点

setCity(city:String,callback:Functon)


按照行政区名称或adcode来设置地图显示的中心点。

行政区名称支持中国、省、市、区/县名称,如遇重名的情况,会按城市编码表顺序返回第一个。adcode请在城市编码表中查询。

建议不要同时使用center/setCenter()和setCity(),如一起使用程序将以setCity()作为最后结果。          相关示例

setBounds(bound:Bounds)


指定当前地图显示范围,参数bounds为指定的范围

setLimitBounds(bound:Bounds)


设置Map的限制区域,设定区域限制后,传入参数为限制的Bounds。地图仅在区域内可拖拽          相关示例

clearLimitBounds( )


清除限制区域

setLang(lang:String)

String

设置地图语言类型,设置后底图重新加载

(自v1.3 新增)

setRotation(rotation:Number)

Number

设置地图顺时针旋转角度,旋转原点为地图容器中心点,取值范围 [0-360](自v1.3 新增)

setStatus(status:Object)


设置当前地图显示状态,包括是否可鼠标拖拽移动地图、地图是否可缩放、地图是否可旋转(rotateEnable)、是否可双击放大地图、是否可以通过键盘控制地图旋转(keyboardEnable)等          相关示例

setDefaultCursor(cursor:String)


设置鼠标指针默认样式,参数cursor应符合CSS的cursor属性规范。可为CSS标注中的光标样式,如:setCursor(“pointer”)等;或者自定义的光标样式,如: setCursor

("url('https://lbs.amap.com/webapi/static/Images//0.png'),

pointer")

zoomIn( )


地图放大一级显示

zoomOut( )


地图缩小一级显示

panTo(positon:LngLat)


地图中心点平移至指定点位置

panBy(x:Number,y:Number)


以像素为单位,沿x方向和y方向移动地图,x向右为正,y向下为正

setFitView(overlayList:Array/null,

 immediately:bool, 

 avoid:[Number,Number,Number,Number],

 maxZoom:Number)


根据地图上添加的覆盖物分布情况,自动缩放地图到合适的视野级别,参数均可缺省。

overlayList为覆盖物数组,缺省时为当前地图上添加的所有覆盖物图层,

immediately代表是否需要动画过程,avoid代表上下左右的像素避让宽度,maxZoom代表fitView之后的最大级别

clearMap( )


删除地图上所有的覆盖物

destroy( )


注销地图对象,并清空地图容器

plugin(name:String/Array,

callback:Function)


插件加载方法。参数name中指定需要加载的插件类型,同时加载多个插件时,以字符串数组的形式添加。在Callback回调函数中进行地图插件的创建、插件事件的绑定等操作;插件为地图功能的扩展,按需加载;插件写作方法,请参考相关示例

addControl(obj:Object)


添加控件。参数可以是插件列表中的任何插件对象,如:ToolBar、OverView、Scale等

removeControl(obj:Object)


移除地图上的指定控件

clearInfoWindow( )


清除地图上的信息窗体。

pixelToLngLat

(pixel:Pixel,level:Number)

LngLat

平面地图像素坐标转换为地图经纬度坐标         相关示例

lnglatToPixel

(lngLat:LngLat,level:Number)

Pixel

地图经纬度坐标转换为平面地图像素坐标

containerToLngLat(pixel:Pixel)

LngLat

地图容器像素坐标转为地图经纬度坐标          相关示例

lngLatToContainer(lnglat:LngLat)

Pixel

地图经纬度坐标转为地图容器像素坐标

setMapStyle(style:String)


设置地图的显示样式,目前支持两种地图样式:

第一种:自定义地图样式,如"amap://styles/d6bf8c1d69cea9f5c696185ad4ac4c86"

可前往地图自定义平台定制自己的个性地图样式;

第二种:官方样式模版,如"amap://styles/grey"

其他模版样式及自定义地图的使用说明见开发指南

getMapStyle( )

String

获取地图显示样式

setFeatures(feature:Array)


设置地图上显示的元素种类,支持bg(地图背景)、point(兴趣点)、

road(道路)、building(建筑物)

getFeatures( )

Array

获取地图显示元素种类

setDefaultLayer(layer:TileLayer)


修改底图图层

(自v1.3 废弃)

setPitch(Number)


设置俯仰角,3D视图有效(自V1.4.0开始支持)

getPitch()

Number

获取俯仰角(自V1.4.0开始支持)

事件

参数

说明

complete


地图图块加载完成后触发事件

click

MapsEvent

鼠标左键单击事件         相关示例

dblclick

MapsEvent

鼠标左键双击事件

mapmove


地图平移时触发事件

hotspotclick

{type,lnglat,name,id}

鼠标点击热点时触发

(自v1.3 新增)

hotspotover

{type,lnglat,name,id}

鼠标滑过热点时触发

(自v1.3 新增)

hotspotout

{type,lnglat,name,id}

鼠标移出热点时触发

(自v1.3 新增)

movestart


地图平移开始时触发

moveend


地图移动结束后触发,包括平移,以及中心点变化的缩放。如地图有拖拽缓动效果,则在缓动结束后触发

zoomchange


地图缩放级别更改后触发

zoomstart


缩放开始时触发

zoomend


缩放停止时触发

mousemove

MapsEvent

鼠标在地图上移动时触发

mousewheel

MapsEvent

鼠标滚轮开始缩放地图时触发

mouseover

MapsEvent

鼠标移入地图容器内时触发

mouseout

MapsEvent

鼠标移出地图容器时触发

mouseup

MapsEvent

鼠标在地图上单击抬起时触发

mousedown

MapsEvent

鼠标在地图上单击按下时触发

rightclick

MapsEvent

鼠标右键单击事件

dragstart


开始拖拽地图时触发

dragging


拖拽地图过程中触发

dragend


停止拖拽地图时触发。如地图有拖拽缓动效果,则在拽停止,缓动开始前触发

resize


地图容器大小改变事件

touchstart

MapsEvent

触摸开始时触发事件,仅适用移动设备

touchmove

MapsEvent

触摸移动进行中时触发事件,仅适用移动设备

touchend

MapsEvent

触摸结束时触发事件,仅适用移动设备

View2D 类

二维地图显示视口,用于定义二维地图静态显示属性,如地图缩放级别“zoom”、地图中心点“center”等。

构造函数

说明

AMap.View2D(opt:View2DOptions)

构造一个二维地图显示视口对象,opts二维地图视口对象初始化属性,详见View2Doptions

View2DOptions

类型

说明

center

LngLat

地图中心点坐标值

rotation

Number

地图顺时针旋转角度,取值范围 [0-360],默认值:0

zoom

Number

地图显示的缩放级别。若center与zoom未赋值,地图初始化默认显示用户所在城市范围

crs

String

地图显示的参考坐标系,取值:

'EPSG3857'

'EPSG3395'

'EPSG4326'

默认值:'EPSG3857'

 AMap.ArrayBounds 类

构造方式:

new AMap. ArrayBounds(bounds:Array[LngLat/Pixel])

属性和方法

名称

说明

contains(LngLat/Pixel)

判断传入的点是否在ArrayBounds内

bounds

构造时传入的参数


返回顶部 示例中心 常见问题 智能客服 公众号
二维码