全部服务产品
开发者频道
定价
登录

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
三方标准图层
更新时间:2021年11月22日
简介
JSAPI GL提供XYZLayer类支持加载EPSG3857 坐标系统的 WMS 图层、WMTS图层、TMS图层以及自定义栅格图层。
XYZLayer类参考

构造函数:

构造函数 描述
BMapGL.XYZLayer(options) XYZLayer实例化TileLayer,用于添加第三方标准图层,通过options设置图层瓦片请求地址、显示等级、显示范围等。

options属性变量:

options属性 类型 描述
tileUrlTemplate String 图像数据请求地址。可通过{0,1,2}标记实现多请求地址的配置;可通过[z],[x],[y],[b]引用默认的*Template。WMTS/TMS/自定义栅格图层服务默认使用[z],[x],[y],瓦片大小为256*256。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 Array 设置图层加载数据的四至范围,输入的范围数值默认为EPSG:3857坐标[minX,minY,maxX,maxY]。
extentCRSIsWGS84 Number 设置图层显示的最大缩放等级。
maxZoom 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。

XYZLayer方法

方法 返回 描述
addBoundary(boundaries: Array<String>) none 设置图层掩膜。boundaries可通过BMapGL.Boundary()获取行政区域的坐标数据。
clearBoundary() none 清空图层掩膜。
setZIndex(index:Number) none 设置图层显示层级,数字越大,显示越靠上。
setZIndexTop() none 设置图层显示等级为最上层。
WMS图层示例
1使用服务示例
代码如下:
    // 创建位置点
var map = new BMapGL.Map("allmap");
var point = new BMapGL.Point(-99.41413316281799,39.82354027110903);
map.centerAndZoom(point, 4);
// tileUrlTemplate 包含OGC标准的WMS地图服务的GetMap接口的参数
var wms = BMapGL.XYZLayer({
       tileUrlTemplate: 'https://ahocevar.com/geoserver/wms?REQUEST=GetMap&SERVICE=WMS&layers=topp:states&version=1.3.0&CRS=EPSG:3857&WIDTH=256&HEIGHT=256&FORMAT=image/png&TRANSPARENT=true&BBOX=[b] ',
});
map.addTileLayer(wms);
WTMS图层示例
1使用服务示例
代码如下:
    // 创建位置点
var map = new BMapGL.Map("allmap");
var point = new BMapGL.Point(-99.41413316281799,39.82354027110903);
map.centerAndZoom(point, 4);   
// tileUrlTemplate 包含OGC标准的WMTS地图服务的GetTile接口的参数
var wmts = BMapGL.XYZLayer({
    tileUrlTemplate: ' https://mrdata.usgs.gov/mapcache/wmts?layer=sgmc2&style=default&tilematrixset=GoogleMapsCompatible&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix=[z]&TileCol=[x]&TileRow=[y]',
useThumbData: true
});
map.addTileLayer(wmts);
TMS图层示例
1使用服务示例
代码如下:
    // 创建位置点
var map = new BMapGL.Map("allmap");
var point = new BMapGL.Point(116.59141044992062,40.30466588726649);
map.centerAndZoom(point, 4);
// tileUrlTemplate 包含tms服务瓦片请求地址
var tms = BMapGL.XYZLayer({
tileUrlTemplate: ' https://mapopen-pub-jsapigl.cdn.bcebos.com/tms-bj/[z]/[x]/[y].png',
tms: true,
useThumbData: true,
// 如果不设置tms:true,可以采用以下方式
// yTemplate: function (x, y, z) {
//     return Math.pow(2, z) - y - 1;
// }
});

map.addTileLayer(tms);
自定义栅格图层示例
1使用服务示例
代码如下:
    // 创建位置点
var map = new BMapGL.Map("allmap");
var point = new BMapGL.Point(116.0970093263384,49.9429305258067);
map.centerAndZoom(point, 7);
var custom = new BMapGL.XYZLayer({
useThumbData: true,
// 自定义图层瓦片请求地址,可使用xTemplate,yTemplate,zTemplate匹配自定义网格编号规则
tileUrlTemplate: ‘http://c.tile.opencyclemap.org/cycle/[z]/[x]/[y].png',
// xTemplate: function (x, y, z) {
//     return x;
// },
// yTemplate: function (x, y, z) {
//     return y;
// },
// zTemplate: function (x, y, z) {
//     return z;
// }
});
var bd = new BMapGL.Boundary();
bd.get('河北', function (rs) {
    custom.addBoundary(rs.boundaries);
});
map.addTileLayer(custom);
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消