of static method
The glide of a gesture released at these speeds, capped, or null when it was too slow to coast.
Implementation
static MapGlide? of({
required Offset focal,
Offset pan = Offset.zero,
double zoom = 0,
double turn = 0,
double tilt = 0,
}) {
double cap(double v, double most) => v.clamp(-most, most);
final speed = pan.distance > 6000 ? pan * (6000 / pan.distance) : pan;
zoom = cap(zoom, 4);
turn = cap(turn, 300);
tilt = cap(tilt, 120);
if (speed.distance < 80 &&
zoom.abs() < 0.25 &&
turn.abs() < 10 &&
tilt.abs() < 10) {
return null;
}
return MapGlide._(focal, speed, zoom, turn, tilt);
}