20 KiB
自有数据图层
用于加载展示开发者自己拥有的数据或者图像的图层类型
HeatMap
热力图,基于第三方heatmap.js实现,以特殊高亮的形式显示数据密集程度。根据密集程度的不同,图上会呈现不同的颜色,以直观的形式展现数据密度。API引用了heatmap.js最新版本v2.0,v2.0基于新的渲染模型,具有更高的渲染效率和更强的性能。支持chrome、firefox、safari、ie9及以上浏览器。
Parameters
mapMap 要叠加热力图的地图对象optsHeatMapOptions 热力图属性配置opts.radiusnumber 热力图中单个点的半径,默认:30,单位:pixelopts.gradientobject 热力图的渐变区间,热力图按照设置的颜色及间隔显示热力图,例{0.4:'rgb(0, 255, 255)',0.85:'rgb(100, 0, 255)',},其中 key 表示间隔位置,取值范围: [0,1],value 为颜色值。默认:heatmap.js标准配色方案opts.opacityarray 热力图透明度区间数组,取值范围[0,1],0表示完全透明,1表示不透明,默认:[0,1]opts.zoomsarray 支持的缩放级别范围,取值范围[3-20],默认:[3,20]opts.visibleboolean 是否可见opts.zIndexnumber 热力图层在地图上的叠加顺序,默认 130opts.3dHeatMap3DOptions 3D热力图属性opts.3d.heightScalenumber 高度缩放因子,表示在单位高度上的缩放比例, 默认为 1opts.3d.heightBezierarray 影响高度平滑度的贝塞尔曲线因子,默认 [0.5, 0, 1, 0.5],opts.3d.gridSizenumber 取样精度,越小越平滑,越大性能越高
Examples
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});
});
getMap
获取热力图叠加地图对象
Returns Map
setMap
设置热力图要叠加的地图实例,也可以在Map中的layers属性中设置为默认显示的图层
Parameters
mapMap 地图实例
getOptions
获取热力图的属性信息
Returns HeatMapOptions
setOptions
设置热力图属性,请参考 HeatMapOptions 列表中的说明
Parameters
optionsHeatMapOptions 热力图配置
getDataSet
输出热力图的数据集,数据结构同setDataSet中的数据集
Returns object
setDataSet
设置热力图展现的数据集,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'][61], dataParser:function(data){ return doSomthing(data);//返回的对象结果应该与上面例子的data字段结构相同 } }
Parameters
datasetobject 数据集
addDataPoint
向热力图数据集中添加坐标点,count不填写时默认:1
Parameters
longitudestring 经度latitudestring 纬度countnumber 权重
getzIndex
获得热力图层叠加层级
Returns number
setzIndex
设置热力图层叠加层级
Parameters
zIndexnumber 热力图层叠加层级
show
显示热力图
hide
隐藏热力图
VectorLayer
Extends _Layer.CoreVectorLayer
add
添加矢量覆盖物到集合中,不支持添加重复的覆盖物
Parameters
vectors(VectorOverlay | Array<VectorOverlay>) 矢量覆盖物或矢量覆盖物数组
remove
删除矢量覆盖物
Parameters
vectors(VectorOverlay | Array<VectorOverlay>) 矢量覆盖物或矢量覆盖物数组
show
显示图层
hide
隐藏图层
has
判断传入的矢量覆盖物实例是否在VectorLayer这中
Parameters
vectorVectorOverlay
Returns boolean
clear
清空 VectorLayer
setOptions
批量修改矢量覆盖物属性(包括线样式、样色等等)
Parameters
optObject
query
根据经纬度查询矢量覆盖物信息
Parameters
geometryLngLatLike
Returns (VectorOverlay | undefined) vector 矢量覆盖物
getBounds
获取 VectorOverlay 所有覆盖物显示的范围
Returns (Bounds | undefined) 经纬度范围值
VectorLayer
Extends _Layer.CoreVectorLayer
Parameters
optsObjectopts.visibleboolean 是否显示 (optional, defaulttrue)opts.zIndexnumber 是否显示 (optional, default110)
Examples
var layer = new AMap.VectorLayer();
map.add(layer);
var circle = new AMap.circle({center: [116.4, 39.9], radius:1000});
layer.add(circle);
add
添加矢量覆盖物到集合中,不支持添加重复的覆盖物
Parameters
vectors(VectorOverlay | Array<VectorOverlay>) 矢量覆盖物或矢量覆盖物数组
remove
删除矢量覆盖物
Parameters
vectors(VectorOverlay | Array<VectorOverlay>) 矢量覆盖物或矢量覆盖物数组
show
显示图层
hide
隐藏图层
has
判断传入的矢量覆盖物实例是否在VectorLayer这中
Parameters
vectorVectorOverlay
Returns boolean
clear
清空 VectorLayer
setOptions
批量修改矢量覆盖物属性(包括线样式、样色等等)
Parameters
optObject
query
根据经纬度查询矢量覆盖物信息
Parameters
geometryLngLatLike
Returns (VectorOverlay | undefined) vector 矢量覆盖物
getBounds
获取 VectorOverlay 所有覆盖物显示的范围
Returns (Bounds | undefined) 经纬度范围值
LabelsLayer
标注层
Parameters
optsLabelsLayerOptions 标注层参数opts.visibleboolean 标注层是否可见,默认值:trueopts.zIndexnumber 标注层与其它图层的叠加顺序,默认值:120opts.opacitynumber 标注层透明度opts.collisionboolean 标注层内的标注是否避让opts.allowCollisionboolean 标注层内的标注是否允许其它标注层对它避让opts.zooms[number, number] 标注层展示层级范围
Examples
// 创建一个标注层实例
var labelsLayer = new AMap.LabelsLayer({
collision: true,
opacity: 1,
zIndex: 120,
allowCollision: true,
});
// 将标注层添加到地图上
map.add(labelsLayer);
getCollision
获取标注层是否支持内部标注避让
Returns any
setCollision
设置标注层是否支持内部标注避让
Parameters
collisionboolean 默认值: true
getAllowCollision
获取标注层是否允许其它层标注避让
Returns boolean
setAllowCollision
设置标注层是否允许其它层标注避让,开启该功能可实现地图标注对 LabelMarker 的避让,[相关示例][63]
Parameters
allowCollisionboolean
getOpacity
获取标注层透明度
Returns number
setOpacity
设置标注层透明度
Parameters
opacitynumber
getZooms
获取标注层显示层级范围
Returns any
setZooms
设置标注层显示层级范围
Parameters
zooms[number]
getzIndex
获取标注层叠加顺序
Returns number
setzIndex
设置标注层叠加顺序
Parameters
zIndexnumber
add
将 labelMarker 添加到标注层上
Parameters
labelMarkersArray<LabelMarker> 可添加单个标注或标注数组
remove
将 labelMarker 从标注层上移除
Parameters
labelMarkers(LabelMarker | Array<LabelMarker>) 可移除单个标注或标注数组
clear
清空标注层上的标注
show
显示标注层
hide
隐藏标注层
getAllOverlays
获取标注层内的所有标注对象
Returns Array<any>
CustomLayer
Extends _Layer.CoreCustomLayer
Parameters
canvasopts
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
zIndexNumber 图层层级值
setzIndex
设置图层层级
Parameters
zIndexnumber 图层层级
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns [Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
zooms[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
setMap
添加到地图上
Parameters
地图实例对象Map
CustomLayer
Extends Layer
自定义图层是一种完全由开发者来指定绘制方法的图层
[相关示例][65]
Parameters
canvasHTMLCanvasElement canvas 对象optsCustomLayerOption 默认图层参数opts.renderFunction 绘制函数,初始化完成时候,开发者需要给该图层设定render方法,
该方法需要实现图层的绘制,API会在合适的时机自动调用该方法opts.zooms[Number, Number] 图层缩放等级范围,默认 [2, 20] (optional, default[2,20])opts.opacityNumber 图层透明度,默认为 1 (optional, default1)opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue)opts.zIndexNumber 图层的层级,默认为 120 (optional, default120)opts.alwaysRenderBoolean 是否主动 (optional, defaultfalse)
Examples
var cLayer = new AMap.CustomLayer(canvas, {
zooms: [2, 18],
zIndex: 120,
render() {
// 对 canvas 进行绘制
}
})
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
zIndexNumber 图层层级值
setzIndex
设置图层层级
Parameters
zIndexnumber 图层层级
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns [Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
zooms[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
setMap
添加到地图上
Parameters
地图实例对象Map
Flexible
Extends TileLayer
灵活切片图层,继承自AMap.TileLayer,开发者可通过构造时传入给其传入createTile字段来指定每一个切片的内容
[相关示例][67]
Parameters
optsFlexibleLayerOptionsopts.cacheSizeNumber 缓存瓦片数量opts.createTilefunction (x, y, z, success, fail) 由开发者实现,由API自动调用,xyz分别为切片横向纵向编号和层级,切片大小 256。假设每次创建的贴片为A(支持img或者canvas),当创建或者获取成功时请回调success(A),不需要显示或者失败时请回调fail()opts.zooms[Number, Number] 支持的缩放级别范围,默认范围 [2-30] (optional, default[2,30])opts.opacityNumber 透明度,默认 1 (optional, default1)opts.visibleBoolean 是否显示,默认 true (optional, defaulttrue)opts.zIndexNumber 图层叠加的顺序值,1 表示最底层。默认 zIndex:4 (optional, default4)opts.tileSizeNumber 切片大小,取值:
256,表示切片大小为256_256,
128,表示切片大小为128_128,
64,表示切片大小为64*64。默认值为256 (optional, default256)
getOptions
获取图层参数信息
Returns Object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-30]
Returns [Number, Number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
zooms[Number, Number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
destroy
销毁图层
ImageLayer
Extends Layer
图片图层类,用户可以将一张静态图片作为图层添加在地图上,图片图层会随缩放级别而自适应缩放。
[相关示例][68]
Parameters
optsImageLayerOptions 传入默认参数列表opts.urlString 图片地址链接opts.zooms[Number, Number] 图层缩放等级范围,默认 [2, 30] (optional, default[2,30])opts.bounds([Number, Number, Number, Number] | Bounds) 图片的范围大小经纬度,如果传递数字数组类型: [minlng,minlat,maxlng,maxlat]opts.opacityNumber 图层透明度,默认为 1 (optional, default1)opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue)opts.zIndexNumber 图层的层级,默认为 6 (optional, default6)
Examples
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
设置图片的地址
Parameters
urlString 图片地址
getBounds
获取 ImageLayer显示的范围
Returns Bounds 经纬度范围值
setBounds
设置 ImageLayer显示的范围
getOptions
获取图层参数信息
Returns object 图层参数信息
getzIndex
获取图层层级
Returns Number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
zIndexNumber 图层层级值
getOpacity
获取图层透明度
Returns Number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
opacityNumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns [number, number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
zooms[number, number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
CanvasLayer
Extends ImageLayer
Canvas图层类,用户可以将一个 Canvas 作为图层添加在地图上,Canvas图层会随缩放级别而自适应缩放。
[相关示例][69]
Parameters
optsImageLayerOptions 传入默认参数列表opts.canvasHTMLCanvasElement Canvas DOM 对象opts.zooms[Number, Number] 图层缩放等级范围,默认 [2, 30] (optional, default[2,30])opts.bounds([Number, Number, Number, Number] | Bounds) canvas 的范围大小经纬度, 如果传递数字数组类型: [minlng,minlat,maxlng,maxlat]opts.opacityNumber 图层透明度,默认为 1 (optional, default1)opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue)opts.zIndexNumber 图层的层级,默认为 6 (optional, default6)
setCanvas
修改显示的Canvas
Parameters
canvasHTMLCanvasElement
getElement
返回 Canvas 对象
Returns HTMLCanvasElement canvas 对象
getBounds
返回 canvas 范围的经纬度
Returns Bounds 范围经纬度
getBounds
当canvas的内容发生改变是用于刷新图层,3D视图下调用,2D视图不需要调用
setBounds
设置 CanvasLayer 显示的范围
getOptions
获取图层参数信息
Returns object 图层参数信息
getzIndex
获取图层层级
Returns number zIndex 图层层级
setzIndex
设置图层层级,数字越大图层层级越高
Parameters
zIndexnumber 图层层级值
getOpacity
获取图层透明度
Returns number opacity 图层透明度
setOpacity
设置图层透明度,范围 [0 ~ 1]
Parameters
opacitynumber 图层透明度
getZooms
获取该图层可显示的级别范围,默认取值范围为[2-20]
Returns [number, number] 缩放范围
setZooms
获取该图层可显示的级别范围
Parameters
zooms[number, number] 缩放范围
show
设置图层可见
hide
设置图层隐藏
GLCustomLayer
3d 自定义图层
Parameters
optsGlCustomLayerOptionsopts.initFunction 初始化的时候,开发者可以在这个函数参数里面获取 gl 上下文,进行一些初始化的操作。opts.renderFunction 绘制函数,初始化完成时候,开发者需要给该图层设定render方法,
该方法需要实现图层的绘制,API会在合适的时机自动调用该方法opts.zooms[Number, Number] 图层缩放等级范围,默认 [2, 20] (optional, default[2,20])opts.opacityNumber 图层透明度,默认为 1 (optional, default1)opts.visibleBoolean 图层是否可见,默认为 true (optional, defaulttrue)opts.zIndexNumber 图层的层级,默认为 120 (optional, default10)
Examples
var glCustomLayer = new GLCustomLayer({
init: function(gl){
// init shader or sth...
},
render: function(gl, state){
// render every frame
},
});
getMap
获取GLCustomLayer所属地图实例
Returns (Map | null)
getzIndex
获取GLCustomLayer叠加顺序
Returns number
setzIndex
设置GLCustomLayer叠加顺序
Parameters
zIndexnumber 叠加值
Returns void
getOpacity
获取GLCustomLayer透明度
Returns number
setOpacity
设置GLCustomLayer透明度
Parameters
opacitynumber 透明度
Returns void
getZooms
获取GLCustomLayer显示层级范围
Returns number
setZooms
设置GLCustomLayer显示层级范围
Parameters
zoomsVector 显示层级范围,默认[3, 20]
Returns number
show
显示GLCustomLayer
Returns void
hide
隐藏GLCustomLayer
Returns void