TilesetLaye存在时,使用mask遮罩层,会出现锯齿
function addDemoGeoJsonLayer1() {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥市建筑物",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
marsJzwStyle: true, // 打开建筑物特效(内置Shader代码)
style: {
color: {
conditions: [["true", "rgba(16, 119, 209, 1)"]]
}
},
})
map.addLayer(tiles3dLayer)
// geojson 合肥边界线
const geoJsonLayer = new mars3d.layer.GeoJsonLayer({
url: "//data.mars3d.cn/file/geojson/areas/340100.json",
mask: true, // 标识为遮罩层【重点参数】
symbol: {
styleOptions: {
fill: true,
color: "rgb(2,26,79)",
opacity: 0.9,
outline: true,
outlineColor: "#39E09B",
outlineWidth: 8,
outlineOpacity: 0.8,
arcType: Cesium.ArcType.GEODESIC,
clampToGround: true
}
}
// flyTo: true
})
map.addLayer(geoJsonLayer)
}
解决方案:
加了这个TilesetLayer模型,并且现有的全球遮罩下就有背面碎片存在,目前尚未找到解决方式,加了个参数global关闭全球遮罩,mars3Dv3.7.20版本生效
// geojson 合肥边界线
const geoJsonLayer = new mars3d.layer.GeoJsonLayer({
url: "//data.mars3d.cn/file/geojson/areas/340100.json",
mask: true, // 标识为遮罩层【重点参数】
symbol: {
styleOptions: {
fill: true,
color: "rgb(2,26,79)",
opacity: 0.9,
outline: true,
outlineColor: "#39E09B",
outlineWidth: 8,
outlineOpacity: 0.8,
arcType: Cesium.ArcType.GEODESIC,
global: false, // 是否全球遮罩,false时为中国区域
clampToGround: true
}
}
// flyTo: true
})