瓦片掩膜,通过Stencil Buffer实现对瓦片图层的区域裁剪渲染。 指定一个GeoJSON多边形区域作为掩膜范围,只显示该区域内的瓦片内容。
支持对MapView或单个TileProvider进行掩膜, 目标TileProvider需要设置supportsMask = true才能被掩膜(如BaiduVectorTileProvider)。
supportsMask = true
需要通过Engine的add方法添加到场景中才能生效。
add
// 创建掩膜,只显示指定区域的地图内容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; 复制
// 创建掩膜,只显示指定区域的地图内容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;
创建TileMask实例
配置选项
掩膜区域,GeoJSON格式或GeoJSONDataSource实例
要应用掩膜的目标列表,支持MapView或TileProvider
添加需要掩膜的材质
需要掩膜的材质
添加需要掩膜的3D对象
需要掩膜的3D对象
添加目标,支持MapView或TileProvider
清理资源
移除需要掩膜的材质
移除需要掩膜的3D对象
移除目标provider
是否启用掩膜
设置是否启用掩膜
获取掩膜区域
设置掩膜区域
新的掩膜区域
获取目标providers
瓦片掩膜,通过Stencil Buffer实现对瓦片图层的区域裁剪渲染。 指定一个GeoJSON多边形区域作为掩膜范围,只显示该区域内的瓦片内容。
支持对MapView或单个TileProvider进行掩膜, 目标TileProvider需要设置
supportsMask = true才能被掩膜(如BaiduVectorTileProvider)。需要通过Engine的
add方法添加到场景中才能生效。示例