code: def _move_to_desired_location(self):
          
          self._next_update = 100000
          x_start = self._convert_longitude(self._longitude)
          y_start = self._convert_latitude(self._latitude)
          x_end = self._convert_longitude(self._desired_longitude)
          y_end = self._convert_latitude(self._desired_latitude)
          if sqrt((x_end - x_start) ** 2 + (y_end - y_start) ** 2) > _START_SIZE // 4:
              self._zoom_map(True)
          elif self._zoom != self._desired_zoom:
              self._zoom_map(self._desired_zoom < self._zoom)
          if self._longitude != self._desired_longitude:
              self._next_update = 1
              if self._desired_longitude < self._longitude:
                  self._longitude = max(self._longitude - 360 / 2 ** self._zoom / self._size * 2,
                                        self._desired_longitude)
              else:
                  self._longitude = min(self._longitude + 360 / 2 ** self._zoom / self._size * 2,
                                        self._desired_longitude)
          if self._latitude != self._desired_latitude:
              self._next_update = 1
              if self._desired_latitude < self._latitude:
                  self._latitude = max(self._inc_lat(self._latitude, 2), self._desired_latitude)
              else:
                  self._latitude = min(self._inc_lat(self._latitude, -2), self._desired_latitude)
          if self._next_update == 1:
              self._updated.set()
docs: Animate movement to desired location on map.