使用方法:
// url:geojson文件地址
async function loadGeojson(url) {
// 加载geojson文件,下面要修改参数,所以这里可以不用设置参数了
let resp = await Cesium.GeoJsonDataSource.load(url);
// 添加geojson到地球上
viewer.dataSources.add(resp);
let entities = resp.entities.values;
// 或者这里可以用 resp.then((dataSource) => {let entities = dataSource.entities.values});
// 给每个地区一个颜色,因为 entities里面必定有一个name属性,所以用 name 作为键值
let colorArray = {};
for (let i = 0; i < entities.length; i++) {
let entity = entities[i];
let name = entity.name;
// 获取已设置的颜色
let color = colorArray[name];
// 如果没有已设置的颜色,则随机色
if (!color) {
color = Cesium.Color.fromRandom({
alpha: 1,
});
colorArray[name] = color;
}
entity.polygon.material = color; //设置填充颜色
entity.polygon.outline = false; // 取消边框
entity.polygon.extrudedHeight = Math.floor(Math.random() * 60000) // 高度随机数,单位是米
}
}