createDragEndOp method

  1. @override
Op<InteractiveOverlayImage>? createDragEndOp(
  1. InteractiveOverlayImage item,
  2. LatLng origin,
  3. LatLng current
)
override

Convert a generic drag end into a concrete commit operation.

Implementation

@override
Op<InteractiveOverlayImage>? createDragEndOp(
    InteractiveOverlayImage item, LatLng origin, LatLng current) {
  final key = item.key;
  if (key == null) return null;

  final deltaLat = current.latitude - origin.latitude;
  final deltaLng = current.longitude - origin.longitude;

  // Calculate new geometry based on delta
  final moved = item.copyWith(
    corners: item.corners.translate(deltaLat, deltaLng),
  );

  return UpdateOverlayOp(oldOverlay: item, newOverlay: moved);
}