可以有它本身的show属性去控制,话不多说,上代码
//添加geojson数据
addGeoJson(url, type) {
let color = "";
if (type == "区") color = "RED";
if (type == "街道") color = "GREEN";
if (type == "社区") color = "PURPLE";
if (url) {
this.$axios.get(url).then((res) => {
if (res.status == 200) {
let sourceData = Cesium.GeoJsonDataSource.load(res.data);
// 此处是由于windows系统无法识别storkwidth的属性,导致线条只有1,所以使用这种
// 方式填充线条
sourceData.then((dataSource) => {
let entities = dataSource.entities.values;
for (let i = 0; i < entities.length; i++) {
let entity = entities[i];
entity.polygon.outlineWidth = 4;
entity.polygon.fill = false;
entity.polygon.outline = false;
entity.polygon.outlineColor = Cesium.Color.RED;
entity.polyline = {
positions: entity.polygon.hierarchy._value.positions,
width: entity.polygon.outlineWidth,
material: Cesium.Color[color],
};
}
});
this.viewer.dataSources.add(sourceData).then((res) => {
//此处用于区分不同数据,并在页面定义,可以自由控制显隐
res.show = false;
if (type == "区") {
res.show = true;
this.qu_dataSource = res;
}
if (type == "街道") this.jd_dataSource = res;
if (type == "社区") this.sq_dataSource = res;
});
}
});
}
},
如果觉得有帮助,那就点个小⭐⭐吧