JSAPI Three API Reference
    正在准备搜索索引...

    类 TileMask

    瓦片掩膜,通过Stencil Buffer实现对瓦片图层的区域裁剪渲染。 指定一个GeoJSON多边形区域作为掩膜范围,只显示该区域内的瓦片内容。

    支持对MapView或单个TileProvider进行掩膜, 目标TileProvider需要设置supportsMask = true才能被掩膜(如BaiduVectorTileProvider)。

    需要通过Engineadd方法添加到场景中才能生效。

    // 创建掩膜,只显示指定区域的地图内容
    const geojson = {
    type: 'FeatureCollection',
    features: [{
    type: 'Feature',
    geometry: {
    type: 'Polygon',
    coordinates: [[[116.1, 39.7], [116.7, 39.7], [116.7, 40.1], [116.1, 40.1], [116.1, 39.7]]]
    }
    }]
    };

    const tileMask = engine.add(new mapvthree.TileMask({
    targets: [vectorMap],
    region: geojson,
    }));

    // 动态更新掩膜区域
    tileMask.region = newGeoJSON;

    // 临时禁用掩膜
    tileMask.enabled = false;

    层级

    • Object3D
      • TileMask
    索引

    构造函数

    • 创建TileMask实例

      参数

      • options: { region: any; targets: any[] } = {}

        配置选项

        • region: any

          掩膜区域,GeoJSON格式或GeoJSONDataSource实例

        • targets: any[]

          要应用掩膜的目标列表,支持MapView或TileProvider

      返回 TileMask

    方法

    • 添加需要掩膜的材质

      参数

      • material: any

        需要掩膜的材质

      • targetProvider: any

      返回 void

    • 添加需要掩膜的3D对象

      参数

      • object: Object3D<Object3DEventMap>

        需要掩膜的3D对象

      • targetProvider: any

      返回 void

    • 添加目标,支持MapView或TileProvider

      参数

      • target: any

      返回 void

    • 清理资源

      返回 void

    • 移除需要掩膜的材质

      参数

      • material: Material

      返回 void

    • 移除需要掩膜的3D对象

      参数

      • object: Object3D<Object3DEventMap>

      返回 void

    • 移除目标provider

      参数

      • target: TileProvider

      返回 void

    访问器

    • get enabled(): boolean

      是否启用掩膜

      返回 boolean

    • set enabled(value: boolean): void

      设置是否启用掩膜

      参数

      • value: boolean

      返回 void

    • get targets(): TileProvider[]

      获取目标providers

      返回 TileProvider[]