高德地图 JS API—参考手册图层

高德地图 JS API—参考手册图层

图层

类名说明是否插件
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类型说明
mapMap要显示该图层的地图对象
tileSizeNumber切片大小,取值:
256,表示切片大小为256*256,
128,表示切片大小为128*128,
64,表示切片大小为64*64。默认值为256
tileUrlString切片取图地址(自1.3版本起,该属性与getTileUrl属性合并)
如:’https://abc.amap.com/tile?x=[x]&y=[y]&z=[z]’
[x]、[y]、[z]分别替代切片的xyz。
errorUrlString取图错误时的代替地址
getTileUrlString/Function(x,y,z)获取图块取图地址,该属性值为一个字符串或者一个函数
字符串如:’https://abc.amap.com/tile?x=[x]&y=[y]&z=[z]’
函数参数z为地图缩放级别,x,y分别为相应缩放级别下图块横向、纵向索引号,
该属性可以用来改变取图地址,实现自定义栅格图。
zIndexNumber图层叠加的顺序值,0表示最底层。默认zIndex:1
opacityFloat图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明
zoomsArray支持的缩放级别范围,默认范围[3-18],在PC上,取值范围为[3-18];在移动设备上,取值范围为[3-19]
detectRetinaBoolean是否在高清屏下进行清晰度适配,默认为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类型说明
mapMap要显示该图层的地图对象
zIndexNumber图层叠加的顺序值,0表示最底层,默认zIndex:2
opacityFloat图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明
zoomsArray支持的缩放级别范围,默认范围为[3,18],取值范围[3-18]
detectRetinaBoolean是否在高清屏下进行清晰度适配,默认为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类型说明
mapMap要显示该图层的地图对象
zIndexNumber图层叠加的顺序值,0表示最底层,默认zIndex:3
opacityFloat图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明
zoomsArray支持的缩放级别范围,默认范围为[3-18],取值范围[3-18];在手机、平板等高清设备上,取值范围为[3-17]
detectRetinaBoolean是否在高清屏下进行清晰度适配,默认为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类型说明
mapMap要显示该图层的地图对象
zIndexNumber图层叠加的顺序值,0表示最底层,默认zIndex:4
opacityFloat图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明
zoomsArray支持的缩放级别范围,默认范围[3-17],取值范围[3-17];在手机、平板等高清设备上,默认取值范围为[3-16]
detectRetinaBoolean是否在高清屏下进行清晰度适配,默认为true。
将根据移动设备屏幕设备像素比,采用相应的技术手段,保证图层在不同设备像素比下的清晰度。
autoRefreshBoolean是否设置可以自动刷新实时路况信息,默认为false
intervalNumber设置刷新间隔时长,单位:秒
默认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类型说明
zIndexNumber图层叠加的顺序值,0表示最底层。默认zIndex:5
opacityFloat图层的透明度,取值范围[0,1],1代表完全不透明,0代表完全透明
zoomsArray支持的缩放级别范围,默认范围[3-18],在PC上,取值范围为[3-18];
在移动设备上,取值范围为[3-19]
cursorString指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式,
Opera不支持自定义cursor
alwaysRenderBoolean表示是否在拖拽缩放过程中实时重绘,默认true,建议超过10000的时候设置false
styleStyleObject
Array.<StyleObject>
用于设置点的样式,当点样式一致时传入StyleObject即可;当需要展示多种点样式时,
传入StyleObject的数组,此时需要为Data中每个元素指定 style字段为该元素要显示
的样式在StyleObject数组中的索引
StyleObjectOptions类型说明
anchorPixel必填参数,图标显示位置偏移量,以图标的左上角为基准点(0,0)点,例如:anchor:new AMap.Pixel(5,5)
urlString必填参数,图标的地址
sizeSize必填参数,图标的尺寸;例如:size:new AMap.Size(11,11)
rotationNumber旋转角度
方法返回值说明
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海量点加载完成事件
clickObject鼠标左键单击事件
dblclickObject鼠标左键双击事件
mouseoutObject鼠标移出海量点图标时触发事件
mouseupObject鼠标在海量点图标上按下后抬起时触发事件
mousedownObject鼠标在海量点图标按下时触发事件
touchstartObject触摸开始时触发事件,仅适用移动设备, 数据结构同setDatas中的数据集
touchendObject触摸结束时触发事件,仅适用移动设备, 数据结构同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类型说明
radiusNumber热力图中单个点的半径,默认:30,单位:pixel
gradientObject热力图的渐变区间,热力图按照设置的颜色及间隔显示热力图,例:
{
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标准配色方案
opacityArray热力图透明度数组,取值范围[0,1],0表示完全透明,1表示不透明,默认:[0,1]
zoomsArray支持的缩放级别范围,取值范围[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[NumberNumber]可见级别范围
opacityNumber不透明度
heightFactorNumber高度比例系数,可控制3D视图下的楼块高度
visibleBoolean是否可见
mapAMap.Map所属的地图对象
zIndexNumber层级,默认8
方法返回值说明
setMap(map/null)设置所属的地图对象,参数为null时从地图中移除
show()显示
hide()隐藏
setStyle()按区域设置楼块的颜色查看示例

AMap.LabelsLayer 类(自v1.4.14新增)

LabelsLayer 类是用于承载 LabelMarker 对象的图层。

构造函数说明
AMap.LabelsLayer(opts:LabelsLayerOptions)构造一个标注图层对象,通过LabelsLayerOptions设置图层属性
LabelsLayerOptions类型说明
visibleBoolean图层是否可见
zIndexNumber图层的层级
opacityNumber图层的透明度
collisionBoolean是否开启碰撞检测,默认为 true(自v1.4.15 新增)
animationBoolean是否开启标注淡入动画,默认为 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()隐藏图层
0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x