+
Update position
-
- Message log
-
-
- See target info
-
-
+
+
Target
+
+ See target info
+
{ console.log(i) }} />
Capture target
-
+
Signal emergency
-
- Log out
-
}
diff --git a/traque-front/hook/mapDrawing.jsx b/traque-front/hook/mapDrawing.jsx
new file mode 100644
index 0000000..f354905
--- /dev/null
+++ b/traque-front/hook/mapDrawing.jsx
@@ -0,0 +1,37 @@
+import { useEffect, useState } from "react";
+import { useLocation } from "./useLocation";
+
+export function useMapCircleDraw(area, setArea) {
+ const [drawing, setDrawing] = useState(false);
+ const [center, setCenter] = useState(area?.center || null);
+ const [radius, setRadius] = useState(area?.radius || null);
+
+ useEffect(() => {
+ setDrawing(false);
+ setCenter(area?.center || null);
+ setRadius(area?.radius || null);
+ }, [area])
+
+ function handleClick(e) {
+ if(!drawing) {
+ setCenter(e.latlng);
+ setRadius(null);
+ setDrawing(true);
+ } else {
+ setDrawing(false);
+ setArea({center, radius});
+ }
+ }
+
+ function handleMouseMove(e) {
+ if(drawing) {
+ setRadius(e.latlng.distanceTo(center));
+ }
+ }
+ return {
+ handleClick,
+ handleMouseMove,
+ center,
+ radius,
+ }
+}
\ No newline at end of file