onNodeMoved method

  1. @override
void onNodeMoved(
  1. String nodeId,
  2. Offset newPosition,
  3. AnnotationDragContext context
)
override

Called when a node's position changes.

Override this method to respond when a tracked node moves. The nodeId is the node that moved, newPosition is its new position. The context provides access to node data for operations like refitting.

For GroupAnnotation with explicit behavior, this triggers a refit.

Example

@override
void onNodeMoved(String nodeId, Offset newPosition, AnnotationDragContext context) {
  if (_trackedNodeIds.contains(nodeId)) {
    _updateBoundsForNode(nodeId, newPosition);
  }
}

Implementation

@override
void onNodeMoved(
  String nodeId,
  Offset newPosition,
  AnnotationDragContext context,
) {
  // Only explicit behavior auto-resizes when member nodes move
  if (behavior != GroupBehavior.explicit) return;
  if (!_nodeIds.contains(nodeId)) return;

  // Refit to contain all member nodes
  fitToNodes(context.getNode);
}