XYZLayer
此类用于添加第三方标准图层。
构造函数
| 构造函数 | 描述 |
|---|---|
| BMapGL.XYZLayer(options: object) | XYZLayer实例化TileLayer,用于添加第三方标准图层,通过options设置图层瓦片请求地址、显示等级、显示范围等 |
配置选项
| 属性 | 类型 | 描述 |
|---|---|---|
| tileUrlTemplate | String | 图像数据请求地址。可通过{0,1,2}标记实现多请求地址的配置;可通过[z],[x],[y],[b]引用默认的Template。WMTS/TMS/自定义栅格图层服务默认使用[z],[x],[y],瓦片大小为256256。WMS服务默认使用[b] |
| xTemplate | Function | 通过输入的网格x、y、z参数计算[x]具体返回值。x、y、z参数对应是Google web墨卡托网格的列号、行号、缩放等级 |
| yTemplate | Function | 通过输入的网格x、y、z参数计算[y]具体返回值。x、y、z参数对应是Google web墨卡托网格的列号、行号、缩放等级 |
| zTemplate | Function | 通过输入的网格x、y、z参数计算[z]具体返回值。x、y、z参数对应是Google web墨卡托网格的列号、行号、缩放等级 |
| bTemplate | Function | 通过输入的网格x、y、z参数计算[b]具体返回值,返回值默认为四至坐标拼接成的字符串:'minX,minY,maxX,maxY'。x、y、z参数对应是Google web墨卡托网格的列号、行号、缩放等级 |
| minZoom | Number | 设置图层显示的最小缩放等级 |
| maxZoom | Number | 设置图层显示的最大缩放等级 |
| extent | Array | 设置图层加载数据的四至范围,输入的范围数值默认为EPSG:3857坐标[minX,minY,maxX,maxY] |
| extentCRSIsWGS84 | Boolean | 标记参数extend数组数据是否为EPSG:4326坐标。默认false,如果设置为true,参数extent数值需要是EPSG:4326 坐标 |
| boundary | Array | 设置图层掩膜。可通过BMapGL.Boundary()获取行政区域的坐标数据 |
| useThumbData | Boolean | 缩放图层时,是否使用跨图层的瓦片进行平滑切换。默认false。如果影响透明图层的展示效果,可以设置false;如果非透明图层,可以设置true |
| tms | Boolean | tileUrlTemplate中[y]是否为tms请求服务形式。默认false。如果是则设置为true |
实例方法
| 方法 | 参数 | 返回值 | 描述 |
|---|---|---|---|
| addBoundary | boundaries: Array | none | 设置图层掩膜。boundaries可通过BMapGL.Boundary()获取行政区域的坐标数据 |
| clearBoundary | none | none | 清空图层掩膜 |
| setZIndex | index: Number | none | 设置图层显示层级,数字越大,显示越靠上 |
| setZIndexTop | none | none | 设置图层显示等级为最上层 |
示例
ts
// 创建XYZ图层
const layer = new BMapGL.XYZLayer({
tileUrlTemplate: 'https://example.com/tiles/{z}/{x}/{y}.png',
minZoom: 3,
maxZoom: 18,
extent: [116.404, 39.915, 116.405, 39.916],
extentCRSIsWGS84: true,
useThumbData: true
});
// 添加图层到地图
map.addLayer(layer);
// 设置图层掩膜
layer.addBoundary(boundaries);
// 设置图层层级
layer.setZIndex(100);注意事项
瓦片服务配置:
- 注意瓦片URL模板的格式要求
- 合理设置缩放等级范围
- 确保坐标系统的一致性
性能优化:
- 合理使用useThumbData属性
- 注意瓦片加载的性能影响
- 控制图层数量
显示控制:
- 合理设置图层层级
- 注意掩膜区域的设置
- 控制图层显示范围
