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”,POIIDname:String, 必要参数location:LngLat|position属性 必须参数} | |
detailOnAMAP(obj:Object) | 唤起高德地图客户端marker详情页其中Object里面包含有{ id: “B000A7BD6C”,POIIDname: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 | 构造时传入的参数 |