From d87242f609a6ebaba6f2b45b2c0b41f961e92d4b Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Fri, 01 Mar 2024 20:16:00 +0800
Subject: [PATCH] update
---
src/hooks/use-cesium-tsa.ts | 24 +++++++++++++++++++++---
1 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/hooks/use-cesium-tsa.ts b/src/hooks/use-cesium-tsa.ts
index bc22c3b..a25ff3b 100644
--- a/src/hooks/use-cesium-tsa.ts
+++ b/src/hooks/use-cesium-tsa.ts
@@ -184,7 +184,7 @@
}
})
}
- // 添加点击事件
+ // 添加左键点击事件
let leftClickHandler: Cesium.ScreenSpaceEventHandler
const addClickEvent = (sid: string, cb: Function) => {
if (leftClickHandler) {
@@ -198,9 +198,25 @@
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
}
- // 移除事件
+ // 移除左键事件
const removeClickEvent = () => {
leftClickHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK)
+ }
+
+ let rightClickHandler: Cesium.ScreenSpaceEventHandler
+ const addRightClick = (sid: string, cb: Function) => {
+ if (leftClickHandler) {
+ removeRightClickEvent()
+ }
+ rightClickHandler = new Cesium.ScreenSpaceEventHandler(viewer?.scene.canvas)
+ rightClickHandler.setInputAction(function (click: { position: Cesium.Cartesian2 }) {
+ const pick = viewer?.scene.pick(click.position)
+ cb(click, pick, viewer, handler)
+ }, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
+ }
+ // 移除右键事件
+ const removeRightClickEvent = () => {
+ rightClickHandler.removeInputAction(Cesium.ScreenSpaceEventType.RIGHT_CLICK)
}
// 添加线段
@@ -356,6 +372,8 @@
loadGeoJson,
removeAllDataSource,
addClickEvent,
- removeClickEvent
+ removeClickEvent,
+ addRightClick,
+ removeRightClickEvent
}
}
--
Gitblit v1.9.3