DataSource.data.forEach(item => {
houseArray[item.id] = addGroundPrimitive(
creatPolygonGeometry(
{
id: item.id,
extra: item
},
JSON.parse(item.position),
item.color,
1
)
);
// polygonArray.push(houseArray[item.id]);
});
function creatPolygonGeometry(id, positions, color, num) {
return new Cesium.GeometryInstance({
id: id,
geometry: new Cesium.PolygonGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(positions)
}),
attributes: {
color: Cesium.ColorGeometryInstanceAttribute.fromColor(
Cesium.Color.fromCssColorString(color).withAlpha(num)
)
},
classificationType: Cesium.ClassificationType.BOTH,
show: true
});
}
//加载不规则形状
function addGroundPrimitive(PolygonPritive) {
return viewer.scene.primitives.add(
new Cesium.GroundPrimitive({
geometryInstances: PolygonPritive,
classificationType: Cesium.ClassificationType.BOTH, // 支持类型: 地形、3DTile、或者在地面上
appearance: new Cesium.PerInstanceColorAppearance({
aboveGround: false,
material: Cesium.Material.fromType("Checkerboard")
})
})
);
}
houseArray[hid].appearance = new Cesium.MaterialAppearance({
material: new Cesium.Material({
fabric: {
type: "Color",
uniforms: {
color: Cesium.Color.fromRandom()
}
}
})
});
动态修改了Cesium图元的颜色
于 2024-02-02 15:37:32 首次发布