Thème
Superviseur — Frontend v0.14.0
Superviseur — Frontend / features/map/composables/useMapInteraction / useMapInteraction
Fonction: useMapInteraction()
ts
function useMapInteraction(
imgRef,
mapDimensions,
mode,
pushState): object;Défini dans: features/map/composables/useMapInteraction.ts:44
Composable gérant les interactions de la souris avec l'éditeur de cartes. Permet le glisser-déposer des sommets, des polygones entiers, des points de détection et la détection d'ajout de sommets.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
imgRef | Ref<HTMLImageElement | null> | Référence réactive vers l'élément HTML Image de la carte. |
mapDimensions | Ref<{ width: number; height: number; }> | Dimensions réactives de la carte. |
mode | Ref<"view" | "edit"> | Mode actuel (visualisation ou édition). |
pushState | (map) => void | Fonction de sauvegarde d'état pour l'historique d'annulation. |
Retourne
États et méthodes de gestion de l'interaction cartographique.
| Name | Type | Description | Défini dans |
|---|---|---|---|
interactionState | Ref<InteractionState, InteractionState> | - | features/map/composables/useMapInteraction.ts:277 |
activePolygonIndex | Ref<number | null, number | null> | - | features/map/composables/useMapInteraction.ts:278 |
activeVertexIndex | Ref<number | null, number | null> | - | features/map/composables/useMapInteraction.ts:279 |
draggingPointIndex | Ref<number | null, number | null> | - | features/map/composables/useMapInteraction.ts:280 |
isDragInvalid | Ref<boolean, boolean> | - | features/map/composables/useMapInteraction.ts:281 |
hoveredEdgePoint | Ref< | { x: number; y: number; polygonIndex: number; insertIndex: number; } | null, | HoveredEdgePoint | { x: number; y: number; polygonIndex: number; insertIndex: number; } | null> | - | features/map/composables/useMapInteraction.ts:282 |
dragStartPos | Ref<{ x: number; y: number; }, | { x: number; y: number; } | { x: number; y: number; }> | - | features/map/composables/useMapInteraction.ts:283 |
mousePos | Ref< | { x: number; y: number; } | null, | { x: number; y: number; } | { x: number; y: number; } | null> | - | features/map/composables/useMapInteraction.ts:284 |
getRelativeCoords() | (e) => Coords | Converts mouse event to relative coordinates (percentage) | features/map/composables/useMapInteraction.ts:287 |
onContainerMouseDown() | (e, map) => boolean | Handles mouse down event for starting vertex/polygon/point dragging | features/map/composables/useMapInteraction.ts:288 |
startPointDrag() | (point, map, isTooltipLocked) => void | Starts dragging a point (detector/equipment) | features/map/composables/useMapInteraction.ts:289 |
onContainerMouseMove() | (e, map) => void | Handles mouse move event for dragging vertices/polygons/points | features/map/composables/useMapInteraction.ts:290 |
onContainerMouseUp() | (map) => void | Handles mouse up event to end dragging | features/map/composables/useMapInteraction.ts:291 |
resetInteraction() | () => void | Resets all interaction state | features/map/composables/useMapInteraction.ts:292 |