zoomTo method

void zoomTo(
  1. double zoom, [
  2. bool animate = false
])

Implementation

void zoomTo(double zoom, [bool animate = false]) {
  log('MapStates zoomTo $zoom');

  if (animate) {
    _zoomAnim = CurvedAnimationController(
      begin: _zoom,
      end: zoom,
      duration: const Duration(milliseconds: 250),
      curve: Curves.ease,
      vsync: _vsync,
    );

    _zoomAnim?.addListener(() {
      _move(_center, _zoomAnim!.value);
    });

    _zoomAnim?.addStatusListener((status) {
      if (status == AnimationStatus.completed) {
        _zoomAnim?.dispose();
      }
    });

    _zoomAnim
      ?..reset()
      ..start();
  } else {
    _move(_center, zoom);
  }
}