code: def _zoom_map(self, zoom_out=True):
          
          size_step = 1 / _ZOOM_STEP if zoom_out else _ZOOM_STEP
          self._next_update = 1
          if self._satellite:
              size_step **= _ZOOM_ANIMATION_STEPS
          self._size *= size_step
          if self._size <= _ZOOM_OUT_SIZE:
              if self._zoom > 0:
                  self._zoom -= 1
                  self._size = _START_SIZE
              else:
                  self._size = _ZOOM_OUT_SIZE
          elif self._size >= _ZOOM_IN_SIZE:
              if self._zoom < 20:
                  self._zoom += 1
                  self._size = _START_SIZE
              else:
                  self._size = _ZOOM_IN_SIZE
docs: Animate the zoom in/out as appropriate for the displayed map tile.