【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩
官网测试示例:
1.功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技
测试代码:
export function showDraw(isFlyTo) {
? removeLayer()
?const geoJsonLayer = new mars3d.layer.GeoJsonLayer({
? ? data: {
? ? ? type: "FeatureCollection",
? ? ? features: [
? ? ? ? {
? ? ? ? ? type: "Feature",
? ? ? ? ? properties: {},
? ? ? ? ? geometry: {
? ? ? ? ? ? type: "MultiPolygon",
? ? ? ? ? ? coordinates: [
? ? ? ? ? ? ? [
? ? ? ? ? ? ? ? [
? ? ? ? ? ? ? ? ? [116.572718, 32.038626, 14.4],
? ? ? ? ? ? ? ? ? [118.079673, 31.18226, 11.2],
? ? ? ? ? ? ? ? ? [116.932438, 30.87228, 4.2],
? ? ? ? ? ? ? ? ? [116.362336, 31.417173, 148.8]
? ? ? ? ? ? ? ? ]
? ? ? ? ? ? ? ],
? ? ? ? ? ? ? [
? ? ? ? ? ? ? ? [
? ? ? ? ? ? ? ? ? [117.788689, 32.729397, -585],
? ? ? ? ? ? ? ? ? [118.825616, 31.834101, -742.5],
? ? ? ? ? ? ? ? ? [119.59371, 32.769803, -455.4],
? ? ? ? ? ? ? ? ? [118.600367, 33.462162, -599.5]
? ? ? ? ? ? ? ? ]
? ? ? ? ? ? ? ]
? ? ? ? ? ? ]
? ? ? ? ? }
? ? ? ? }
? ? ? ]
? ? },
? ? 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)
}
测试效果: