YY. TileLayer 
瓦片图层对象,平时我们看到的地图,比如影像,矢量等,他们都是瓦片图层,一般有多个小的图片(256x256)按照一定的规律组成的集合,俗称栅格切片
creation 
- constructor(url, options, crs) - options - {Number} minZoom:瓦片图层最小层级
- {Number} maxZoom:瓦片图层的最大层级
- {Number} maxAvailableZoom:瓦片最大可见层级
- {Array[Number]} tileSize:瓦片大小[256,256]
- {Array[Array]||YY.Envelope} maxBounds:瓦片图层的最大可视化范围,边界
- {String} preview:该瓦片图层的 icon url。
 
- {Number} 
- crs 空间投影信息
 
- options 
example 
js
//一般我们不用这种方式来new TileLayer,用YY.LayerLookup 这个类 的静态方法来  代理  YY.TileLayer的实例化
const options = {
    minZoom: 4,
    maxZoom: 18,
    maxBounds: [
        [-180, -90],
        [180, 90]
    ]
    preview: '../assets/image/preview.png'
}
// {projection:'EPSG:3857'} 表示投影为墨卡托
const tilelayer = new YY.TileLayer('http://a.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', options, {
    projection: 'EPSG:3857'
});
map.addBaseLayer(tileLayer);
////////////////////////////////////////////////////////////////////
//演示加载自定义的瓦片图层,这里以天地图为例子,项目中一般都是用这种方式
var origin = [-180, 90]; //天地图的切图原点
var res = function() { //切图参数
    var ss = [];
    for (var i = 0; i <= 18; i++) {
        ss.push(1.40625 / Math.pow(2, i));
    }
    return ss;
}();
var crs = { //构造空间投影信息
    origin: origin,
    resolutions: res,
    code: 'ESPG:4326' //84坐标系,经纬度投影
}
let options1 = {
    minZoom: 1,
    maxZoom: 18,
    maxBounds: [
        [-180, -90],
        [180, 90]
    ]
    preview: '../assets/image/preview.png'
}
//利用YY.LayerLookup.createTileLayer 加载天地图,
var tileLayer1 = YY.LayerLookup.createTileLayer('http://t0.tianditu.com/img_c/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&FORMAT=tiles&TILEMATRIXSET=c&STYLE=default&LAYER=img&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}', options1, crs);
map.addBaseLayer(tileLayer1);
/////////////////////////////////////////////////////////
//当然我们可以快速的获取天地图
//这里我们创建了一个天地图的栅格瓦片图层
var tdtTileLayer = YY.LayerLookup.lookup('tdt');
//这里我们创建了一个天地图的栅格瓦片图层
var tdtTileLayer1 = YY.LayerLookup.lookup('tdt', {
    style: 'image'
});method 
group(baseLayer) 
- 将另一个瓦片图层和自己合并,一起加到地图上
- 参数 - {YY.TileLayer} baseLayer
 
- {YY.TileLayer} 
- 返回值: this
js
baseLayer.group(baselayer2);
map.addBaseLayer(baseLayer);unGroup(baseLayer) 
- 将另一个瓦片图层和自己拆开,从地图上移除
- 参数 - {YY.TileLayer} baseLayer
 
- {YY.TileLayer} 
- 返回值: this
getTileUrl(x, y, z) 
- 获取瓦片的地址,用于 Ajax 瓦片请求,如果瓦片的请求地址需要重写,可以重写该方法,否则不要做任何改变
- 返回值: String返回一个 URL
getOpacity() 
- 获取瓦片的透明度
- 返回值: Number
setOpacity(opacity) 
- 设置瓦片的透明度
- 参数 - {Number} opacity
 
- {Number} 
- 返回值: this
show() 
- 显示
- 返回值: this
hide() 
- 隐藏
- 返回值: this
isVisible() 
- 判断是否可见
- 返回值: Boolean
setMask(mask) 
- 设置瓦片蒙层,是瓦片图层只显示部分区域
- 参数 - {YY.Polygon} mask
 
- {YY.Polygon} 
- 返回值: this
js
  var amapTileLayer = YY.LayerLookup.lookup("amap");
  var features = szAreas.features;
  features.forEach((element) => {
      var name = element.properties.name;
      if (name.indexOf("吴江") >= 0) {
          var coordinates = element.geometry.coordinates;
          var mask = new YY.Polygon(coordinates);
          amapTileLayer.setMask(mask);
      }
  });
  map.addBaseLayer(amapTileLayer);getMask() 
- 获取瓦片蒙层对象
- 返回值: YY. Polygon
removeMask() 
- 移除瓦片蒙层对象
- 返回值: this
getId() 
- 获取 ID
- 返回值: String/Number
setId(id) 
- 设置 id
- 参数 - {String/Number} id
 
- {String/Number} 
- 返回值: this
getMap() 
- 获取地图对象
- 返回值: YY. Map
js
baseLayer.group(baselayer2);
map.addBaseLayer(baseLayer);
setTimeout(() => {
    baseLayer.unGroup(baseLayer2); //三秒后将 baseLayer2从地图上移除
}, 3000);