使用自有数据添加图层 最后更新时间: 2021年01月22日
本章介绍如何在高德地图内部使用使用自有数据添加图层,包括:
- 图片/ Canvas /视频图层
- 灵活切片图层 TileLayer.Flexible
图片/ Canvas /视频作为自定义图层
本小节介绍用户如何添加自定义图片/视频资源作为图层添加到地图上。
一. 图片图层 ImageLayer
图片图层类。将静态图片作为图层添加在地图上,图片图层会随缩放级别而自适应缩放。
// 创建图片图层
var imageLayer = new AMap.ImageLayer({
bounds: new AMap.Bounds(),
url: '图片url', // 图片 Url
zIndex:2,
zooms: [3, 18] // 设置可见级别,[最小级别,最大级别]
});
// 将图层添加至地图实例
map.add(imageLayer);
二. Canvas 图层 CanvasLayer
Canvas 图层类。将Canvas作为图层添加在地图上。Canvas 图层会随缩放级别而自适应缩放(v1.4.2新增)。
三. 视频图层 VideoLayer
视频图层类。将视频作为图层添加在地图上。视频图层会随缩放级别而自适应缩放(v1.4.2新增)。
灵活切片图层 TileLayer.Flexible
灵活切片图层类,使用该图层可实现自定义每个切片的内容。通过指定 TileLayer.Flexible 类的 createTile 属性传入切片内容(v1.4.2新增)。具体方法如下:
var flexibleLayer = new AMap.TileLayer.Flexible({
/**
* 自定义切片属性,返回值为切片图片或 canvas
* @param x: 切片横向编号
* @param y: 切片纵向编号
* @param z: 切片层级
* @param success: 创建成功回调
* @param fail: 创建失败回调
*/
createTile: function(x,y,z, success, fail){
var image = imageList[x];
return image;
},
cacheSize: 256, // 内存中缓存的切片的数量上限
zIndex:2,
zooms: [3, 18] // 设置可见级别,[最小级别,最大级别]
});
map.add(flexibleLayer);