//点击事件
MapServeHandle() {
let _this = this;
let handler = new Cesium.ScreenSpaceEventHandler(cViewer.scene.canvas);
handler.setInputAction(async (event) => {
let pickRay = cViewer.camera.getPickRay(event.position);
let featuresPromise = await cViewer.imageryLayers.pickImageryLayerFeatures(pickRay, cViewer.scene);
let data = featuresPromise[0].data.geometry;
_this.selectSpot(data,'patternSpot');
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
},
// 选中事件
selectSpot(json, layerName) {
if (layers[layerName]) { //var layers = {},设置的全局
cViewer.dataSources.remove(layers[layerName]);
layers[layerName] = null;
}
layers[layerName] = new Cesium.GeoJsonDataSource(layerName);
layers[layerName].load(json).then(function(dataSource) {
cViewer.dataSources.add(dataSource);
let entities = dataSource.entities.values;
entities.forEach((item, index) => {
let entity = entities[index];
entity.polygon.outlineColor = Cesium.Color.RED;
entity.polygon.material = Cesium.Color.fromCssColorString("#33e97676");
});
});
},
cesium点击图斑,选中效果
于 2023-02-09 15:11:59 首次发布