1.使用ScreenSpaceEventHandler实现
const handler = new Cesium.ScreenSpaceEventHandler(
this.viewer.scene.canvas
);
const leftclick = Cesium.ScreenSpaceEventType.LEFT_CLICK;
this.viewer.screenSpaceEventHandler.removeInputAction(leftclick);
handler.setInputAction((event) => {
const pick = this.viewer.scene.pick(event.position);
if (Cesium.defined(pick)) {
if (pick.id._name === "1") {
console.log("1", 1)
} else {
console.log("2", 2)
}
}
}, leftclick);
2.使用selectedEntity属性实现
this.viewer.selectedEntityChanged.addEventListener((selectedEntity) => {
console.log("selectedEntity", selectedEntity)
});
3.如何获取点击的对象信息
initCesium() {
Cesium.Ion.defaultAccessToken = "";
this.viewer = new Cesium.Viewer("cesiumContainer", {});
this.tileset = new Cesium.Cesium3DTileset({});
this.tileset.readyPromise.then((tileset) => {
this.viewer.scene.primitives.add(tileset);
this.viewer.zoomTo(tileset);
this.viewer.selectedEntityChanged.addEventListener((selectedEntity) => {
console.log("selectedEntity", selectedEntity._description._value,)
});
});
},
addEntities() {
this.entitieList.forEach((item) => {
this.viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(),
billboard: {},
description: item,
});
})
},