图层
类名 | 说明 | 是否插件 |
---|---|---|
AMap.TileLayer | 切片图层类 | 否 |
AMap.TileLayer.Satellite | 卫星图层类,继承自TileLayer | 否 |
AMap.TileLayer.RoadNet | 路网图层类,继承自TileLayer | 否 |
AMap.TileLayer.Traffic | 实时交通图层类,继承自TileLayer | 否 |
AMap.Buildings | 楼块图层,独立显示矢量楼块数据的一种图层 | 否 |
AMap.MassMarks | 图海量麻点图层类 | 否 |
AMap.Heatmap | 热力图插件 | 是 |
AMap.LayerGroup | 图层集合,用来包装其它图层类的实例并对集合做批量操作 | 否 |
AMap.LabelsLayer | 标注图层,用于添加 LabelMarker 类型标注 | 否 |
TileLayer 类
切片图层类,该类为基础类,不指定getTileUrl时为高德默认底图。
构造函数 | 说明 |
---|---|
AMap.TileLayer(tileOpt:TileLayerOptions) | 构造一个切片图层对象,通过TileLayerOptions设置图层属性。 |
TileLayerOptions | 类型 | 说明 |
---|---|---|
map | Map | 要显示该图层的地图对象 |
tileSize | Number | 切片大小,取值: 256,表示切片大小为256*256, 128,表示切片大小为128*128, 64,表示切片大小为64*64。默认值为256 |
tileUrl | String | 切片取图地址(自1.3版本起,该属性与getTileUrl属性合并) 如:’https://abc.amap.com/tile?x=[x]&y=[y]&z=[z]’ [x]、[y]、[z]分别替代切片的xyz。 |
errorUrl | String | 取图错误时的代替地址 |
getTileUrl | String/Function(x,y,z) | 获取图块取图地址,该属性值为一个字符串或者一个函数 字符串如:’https://abc.amap.com/tile?x=[x]&y=[y]&z=[z]’ 函数参数z为地图缩放级别,x,y分别为相应缩放级别下图块横向、纵向索引号, 该属性可以用来改变取图地址,实现自定义栅格图。 |
zIndex | Number | 图层叠加的顺序值,0表示最底层。默认zIndex:1 |
opacity | Float | 图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明 |
zooms | Array | 支持的缩放级别范围,默认范围[3-18],在PC上,取值范围为[3-18];在移动设备上,取值范围为[3-19] |
detectRetina | Boolean | 是否在高清屏下进行清晰度适配,默认为true。 将根据移动设备屏幕设备像素比,采用相应的技术手段,保证图层在不同设备像素比下的清晰度。 |
方法 | 返回值 | 说明 |
---|---|---|
setOpacity(alpha:Float) | 设置图层透明度 | |
show( ) | 在地图上显示该图层 | |
hide( ) | 隐藏图层 | |
getTiles( ) | Array | 获取当前图层所有切片号。(自v1.1 新增) |
reload( ) | 重新加载此图层 | |
setTileUrl( ) | 设置图层的取图地址 | |
getZooms( ) | Array | 获取该图层可显示的级别范围;在PC上,取值范围为[3-18];在移动设备上,取值范围为[3-19] |
setzIndex(index:Number) | 设置图层叠加的顺序值,默认zIndex:1 | |
setMap(map:Map) | 设置要显示图层的地图对象 |
事件 | 参数 | 说明 |
---|---|---|
complete | 图块切片加载完成事件 |
TileLayer.Satellite 类(自v1.1 新增)
卫星图层类,继承自TileLayer。
构造函数 | 说明 |
---|---|
AMap.TileLayer.Satellite(sateOpt:SatelliteOptions) | 构造一个卫星切片图层对象,通过SatelliteOptions设置图层属性。 |
SatelliteOptions | 类型 | 说明 |
---|---|---|
map | Map | 要显示该图层的地图对象 |
zIndex | Number | 图层叠加的顺序值,0表示最底层,默认zIndex:2 |
opacity | Float | 图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明 |
zooms | Array | 支持的缩放级别范围,默认范围为[3,18],取值范围[3-18] |
detectRetina | Boolean | 是否在高清屏下进行清晰度适配,默认为false。 将根据移动设备屏幕设备像素比,采用相应的技术手段,保证图层在不同设备像素比下的清晰度。 |
方法 | 返回值 | 说明 |
---|---|---|
setOpacity(alpha:Float) | 设置图层透明度 | |
show( ) | 在地图上显示该图层 | |
hide( ) | 隐藏图层 | |
getTiles( ) | Array | 获取当前图层所有切片号 |
reload( ) | 重新加载此图层 | |
setTileUrl( ) | 设置图层的取图地址 | |
getZooms( ) | Array | 获取该图层可显示的级别范围,默认取值范围为[3-18] |
setzIndex(index:Number) | 设置图层叠加的顺序值,默认zIndex:2 | |
setMap(map:Map) | 设置要显示图层的地图对象 |
事件 | 参数 | 说明 |
---|---|---|
complete | 图块切片加载完成事件 |
TileLayer.RoadNet 类
路网图层类,继承自TileLayer。
构造函数 | 说明 |
---|---|
AMap.TileLayer.RoadNet(roadnetOpt:RoadNetOptions) | 构造路网图层对象,通过RoadNetOptions设置图层属性。 |
RoadNetOptions | 类型 | 说明 |
---|---|---|
map | Map | 要显示该图层的地图对象 |
zIndex | Number | 图层叠加的顺序值,0表示最底层,默认zIndex:3 |
opacity | Float | 图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明 |
zooms | Array | 支持的缩放级别范围,默认范围为[3-18],取值范围[3-18];在手机、平板等高清设备上,取值范围为[3-17] |
detectRetina | Boolean | 是否在高清屏下进行清晰度适配,默认为true。 将根据移动设备屏幕设备像素比,采用相应的技术手段,保证图层在不同设备像素比下的清晰度。 |
方法 | 返回值 | 说明 |
---|---|---|
setOpacity(alpha:Float) | 设置图层透明度 | |
show( ) | 在地图上显示该图层 | |
hide( ) | 隐藏图层 | |
getTiles( ) | Array | 获取当前图层所有切片号 |
reload( ) | 重新加载此图层 | |
setTileUrl( ) | 设置图层的取图地址 | |
getZooms( ) | Array | 获取该图层可显示的级别范围,默认取值范围为[3-18];在平板、手机等高清设备上,取值范围为[3-17] |
setzIndex(index:Number) | 设置图层叠加的顺序值,默认zIndex:3 | |
setMap(map:Map) | 设置要显示图层的地图对象 |
事件 | 参数 | 说明 |
---|---|---|
complete | 图块切片加载完成事件 |
TileLayer.Traffic 类
实时交通图层类,继承自TileLayer。
构造函数 | 说明 |
---|---|
AMap.TileLayer.Traffic(trafficOpt:TrafficOptions) | 构造一个实时交通图层对象。 |
TrafficOptions | 类型 | 说明 |
---|---|---|
map | Map | 要显示该图层的地图对象 |
zIndex | Number | 图层叠加的顺序值,0表示最底层,默认zIndex:4 |
opacity | Float | 图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明 |
zooms | Array | 支持的缩放级别范围,默认范围[3-17],取值范围[3-17];在手机、平板等高清设备上,默认取值范围为[3-16] |
detectRetina | Boolean | 是否在高清屏下进行清晰度适配,默认为true。 将根据移动设备屏幕设备像素比,采用相应的技术手段,保证图层在不同设备像素比下的清晰度。 |
autoRefresh | Boolean | 是否设置可以自动刷新实时路况信息,默认为false |
interval | Number | 设置刷新间隔时长,单位:秒 默认180s刷新一次 |
方法 | 返回值 | 说明 |
---|---|---|
setOpacity(alpha:Float) | 设置图层透明度 | |
show( ) | 在地图上显示该图层 | |
hide( ) | 隐藏图层 | |
getTiles( ) | Array | 获取当前图层所有切片号 |
reload( ) | 重新加载此图层 | |
setTileUrl( ) | 设置图层的取图地址 | |
getZooms( ) | Array | 获取该图层可显示的级别范围,默认取值范围为[3-17];在平板、手机登高清设备上,取值范围为[3-16] |
setzIndex(index:Number) | 设置图层叠加的顺序值,默认zIndex:4 | |
setMap(map:Map) | 设置要显示图层的地图对象 |
事件 | 参数 | 说明 |
---|---|---|
complete | 图块切片加载完成事件 |
MassMarks 类
此类表示海量点类,利用该类可同时在地图上展示万级别的点,目前仅适用于html5浏览器。
构造函数 | 说明 |
---|---|
AMap.MassMarks(data:Array.<Object>,opts:MassMarksOptions) | 创建海量点类。datas为点对象的数组,点对象为包含经纬度lnglat属性的Object,opts为点与点集合的绘制样式。 例data: [{lnglat: [116.405285, 39.904989], name: i,id:1},{}, …]或url串,支持从服务器直接取数据 |
MassMarksOptions | 类型 | 说明 |
---|---|---|
zIndex | Number | 图层叠加的顺序值,0表示最底层。默认zIndex:5 |
opacity | Float | 图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明 |
zooms | Array | 支持的缩放级别范围,默认范围[3-18],在PC上,取值范围为[3-18]; 在移动设备上,取值范围为[3-19] |
cursor | String | 指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式, Opera不支持自定义cursor |
alwaysRender | Boolean | 表示是否在拖拽缩放过程中实时重绘,默认true,建议超过10000的时候设置false |
style | StyleObject 或Array.<StyleObject> | 用于设置点的样式,当点样式一致时传入StyleObject即可;当需要展示多种点样式时, 传入StyleObject的数组,此时需要为Data中每个元素指定 style 字段为该元素要显示的样式在StyleObject数组中的索引 |
StyleObjectOptions | 类型 | 说明 |
---|---|---|
anchor | Pixel | 必填参数,图标显示位置偏移量,以图标的左上角为基准点(0,0)点,例如:anchor:new AMap.Pixel(5,5) |
url | String | 必填参数,图标的地址 |
size | Size | 必填参数,图标的尺寸;例如:size:new AMap.Size(11,11) |
rotation | Number | 旋转角度 |
方法 | 返回值 | 说明 |
---|---|---|
setMap(map:Map) | 设置显示MassMark的地图对象 | |
getMap() | Map | 获取Marker所在地图对象 |
setStyle(StyleObject 或Array.<StyleObject>) | 设置MassMark的显示样式 | |
getStyle() | Object | 获取MassMark的显示样式,数据结构同setStyle中的属性一致 |
setData(data:Object) | 设置MassMark展现的数据集,数据集格式为:, data: Array 坐标数据集. 例:data: [{lnglat: [116.405285, 39.904989], name: i,id:1},{}, …],{}, …]} | |
getData() | Object | 输出MassMark的数据集,数据结构同setDatas中的数据集 |
show( ) | 显示海量点图层 | |
hide( ) | 隐藏海量点图层 | |
clear( ) | 清除海量点 |
事件 | 参数 | 说明 |
---|---|---|
complete | 海量点加载完成事件 | |
click | Object | 鼠标左键单击事件 |
dblclick | Object | 鼠标左键双击事件 |
mouseout | Object | 鼠标移出海量点图标时触发事件 |
mouseup | Object | 鼠标在海量点图标上按下后抬起时触发事件 |
mousedown | Object | 鼠标在海量点图标按下时触发事件 |
touchstart | Object | 触摸开始时触发事件,仅适用移动设备, 数据结构同setDatas中的数据集 |
touchend | Object | 触摸结束时触发事件,仅适用移动设备, 数据结构同setDatas中的数据集 |
AMap.Heatmap 插件
热力图,基于第三方heatmap.js实现,以特殊高亮的形式显示数据密集程度。根据密集程度的不同,图上会呈现不同的颜色,以直观的形式展现数据密度。API引用了heatmap.js最新版本v2.0,v2.0基于新的渲染模型,具有更高的渲染效率和更强的性能。支持chrome、firefox、safari、ie9及以上浏览器。
代码示例
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}); //设置热力图数据集 //具体参数见接口文档 });
构造函数 | 说明 |
---|---|
AMap.Heatmap( map:Map , opts:HeatmapOptions) | 构造一个热力图插件对象,map为要叠加热力图的地图对象,opts属性参考HeatmapOptions列表中的说明。 |
HeatmapOptions | 类型 | 说明 |
---|---|---|
radius | Number | 热力图中单个点的半径,默认:30,单位:pixel |
gradient | Object | 热力图的渐变区间,热力图按照设置的颜色及间隔显示热力图,例: { 0.4:’rgb(0, 255, 255)’, 0.65:’rgb(0, 110, 255)’, 0.85:’rgb(100, 0, 255)’, 1.0:’rgb(100, 0, 255)’ } 其中 key 表示间隔位置,取值范围: [0,1],value 为颜色值。默认:heatmap.js标准配色方案 |
opacity | Array | 热力图透明度数组,取值范围[0,1],0表示完全透明,1表示不透明,默认:[0,1] |
zooms | Array | 支持的缩放级别范围,取值范围[3-18],默认:[3,18] |
方法 | 返回值 | 说明 |
---|---|---|
setMap(map:Map) | 设置热力图要叠加的地图对象,也可以在Map中的layers属性中设置为默认显示的图层 | |
setOptions(opts:HeatmapOptions) | 设置热力图属性,参考HeatmapOptions列表中的说明 | |
addDataPoint(lng:Lng, lat:Lat, count:Number) | 向热力图数据集中添加坐标点,count不填写时默认:1 | |
setDataSet(dataset:Object) | 设置热力图展现的数据集,dataset数据集格式为: { max: Number 权重的最大值, data: Array 坐标数据集 }, 其中max不填则取数据集count最大值 例: { max: 100, data: [{lng: 116.405285, lat: 39.904989, count: 65},{}, …] } 也可以通过url来加载数据,格式为 { data:jsonp格式数据的服务地址URL, dataParser: 数据格式转换function //当jsonp返回结果和官方结构不一致的时候,用户可以传递一个函数用来进行数据格式转换; } 例: { data:’http://abc.com/jsonp.js’, dataParser:function(data){ return doSomthing(data);//返回的对象结果应该与上面例子的data字段结构相同 } } | |
hide( ) | 隐藏热力图 | |
show( ) | 显示热力图 | |
getMap( ) | Map | 获取热力图叠加地图对象 |
getOptions( ) | Object | 获取热力图的属性信息 |
getDataSet( ) | Object | 输出热力图的数据集,数据结构同setDataSet中的数据集 |
AMap.LayerGroup 类(自v1.4.2新增)
LayerGroup类用来包装其它图层类的实例, 对实例集合做批量操作, 避免开发者对多个需要设置同样属性的图层实例做循环处理。同时只要对LayerGroup执行过setMap方法后, 新添加到该LayerGroup中的图层会自动将其map属性修改到该group对应的map, 此外从group中移除该图层时,也会将该图层从group对应的map中移除。
构造函数 | 说明 |
---|---|
AMap.LayerGroup(layers: Array) | 构造图层集合,传入的参数是一个图层实例的数组 |
方法 | 返回值 | 说明 |
---|---|---|
addLayer(layer: Layer) | 添加单个图层到集合中,不支持添加重复的图层 | |
addLayers(layers: Array) | 添加图层数组到集合中,不支持添加重复的图层 | |
getLayers() | Array | 返回当前集合中所有的图层 |
hasLayer(layer: Layer) | Boolean | 判断传入的图层实例是否在集合中 |
removeLayer(layer: Layer) | 从集合中删除传入的图层实例 | |
removeLayers(layers: Array) | 从集合中删除传入的图层实例数组 | |
clearLayers() | 清空集合 | |
eachLayer(iterator: Function) | 对集合中的图层做迭代操作,其中iterator的函数定义是: function(layer, index, collections),相关含义如下: layer: 当前迭代到的图层 index: 该图层在集合中的序列号(从0开始) collections: 所有图层实例 | |
setMap(map: Map) | Boolean | 指定集合中里图层的显示地图 |
setOptions(opt: LayerOptions) | 修改图层属性(包括线样式、样色等等) | |
show() | 在地图上显示集合中图层 | |
hide() | 在地图上隐藏集合中图层 |
事件 | 说明 |
---|---|
集合中对应图层支持的事件 | 如果对图层集合添加对某个事件的监听或解除监听, 图层集合会对集合中所有图层实例做集合处理, 只要该图层支持此事件, 该事件绑定/解除即对图层生效 |
AMap.Buildings
楼块图层,单独展示矢量化的楼块图层,兼容IE9以上(不含)的浏览器 ,v1.4.6开始,查看示例。
构造函数 | 说明 |
---|---|
AMap.Buildings(opts:BuildingsOptions) | 创建楼块图层,BuildingsOptions 为初始构造属性对象 |
BuildingsOptions | 类型 | 说明 |
---|---|---|
zooms | [Number , Number ] | 可见级别范围 |
opacity | Number | 不透明度 |
heightFactor | Number | 高度比例系数,可控制3D视图下的楼块高度 |
visible | Boolean | 是否可见 |
map | AMap.Map | 所属的地图对象 |
zIndex | Number | 层级,默认8 |
方法 | 返回值 | 说明 |
---|---|---|
setMap(map/null) | 设置所属的地图对象,参数为null时从地图中移除 | |
show() | 显示 | |
hide() | 隐藏 | |
setStyle() | 按区域设置楼块的颜色查看示例 |
AMap.LabelsLayer 类(自v1.4.14新增)
LabelsLayer 类是用于承载 LabelMarker 对象的图层。
构造函数 | 说明 |
---|---|
AMap.LabelsLayer(opts:LabelsLayerOptions) | 构造一个标注图层对象,通过LabelsLayerOptions设置图层属性 |
LabelsLayerOptions | 类型 | 说明 |
---|---|---|
visible | Boolean | 图层是否可见 |
zIndex | Number | 图层的层级 |
opacity | Number | 图层的透明度 |
collision | Boolean | 是否开启碰撞检测,默认为 true(自v1.4.15 新增) |
animation | Boolean | 是否开启标注淡入动画,默认为 true(自v1.4.15 新增) |
方法 | 返回值 | 说明 |
---|---|---|
getCollision() | Boolean | 获取该图层是否支持碰撞检测(自v1.4.15 新增) |
setCollision(collision:Boolean) | 设置该图层是否支持碰撞检测(自v1.4.15 新增) | |
getOpacity() | Number | 获取该图层透明度(自v1.4.15 新增) |
setOpacity(opacity:Number) | 设置该图层透明度(自v1.4.15 新增) | |
getzIndex() | Number | 获取该图层叠加层级(自v1.4.15 新增) |
setzIndex(zIndex:Number) | 设置该图层叠加层级(自v1.4.15 新增) | |
getAnimation() | Boolean | 获取该图层标注是否开启淡入动画(自v1.4.15 新增) |
setAnimation(animation: Boolean) | 设置该图层标注是否开启淡入动画(自v1.4.15 新增) | |
getZooms() | Array | 获取该图层显示级别(自v1.4.15 新增) |
setZooms(zooms: Array) | 设置该图层显示级别(自v1.4.15 新增) | |
add(LabelMarker|LabelMarker[]) | 图层中添加 LabelMarker | |
remove(LabelMarker|LabelMarker[]) (自v1.4.15 新增) | 图层中移除 LabelMarker | |
clear() | 清空图层 | |
show() | 显示图层 | |
hide() | 隐藏图层 |