move method

void move(
  1. Key key,
  2. LatLng to, {
  3. bool merge = false,
})

Implementation

void move(Key key, LatLng to, {bool merge = false}) {
  final before = findByKey(key);
  if (before == null) {
    debugPrint(
        'Warning: Attempted to move non-existent overlay with key: $key');
    return;
  }

  final centerBefore = before.center;
  final deltaLat = to.latitude - centerBefore.latitude;
  final deltaLng = to.longitude - centerBefore.longitude;

  final moved = before.copyWith(
    corners: before.corners.translate(deltaLat, deltaLng),
  );

  perform(
    UpdateOverlayOp(oldOverlay: before, newOverlay: moved),
    merge: merge,
  );

  _options.onSpatialUpdate?.call(moved, before);
  scheduleAutoSave();
}