Изменить положение камеры GMS Map View с анимацией - PullRequest
0 голосов
/ 14 октября 2019

Я пытался увеличить и уменьшить масштаб GMSCamera, но не смог выполнить это с анимацией. Я мог бы также просмотреть документацию. но ничего не помогло.

UIView.animate(withDuration: 5.0) {
    let zoom = GMSCameraUpdate.zoom(to: 15.0)
    self.mapView.animate(toZoom: zoom)
}

Приведенный выше код не оживляет вид карты.

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Попробуйте приведенный ниже код. Вы можете обновить его для последнего быстрого синтаксиса.

    mapView.camera = GMSCameraPosition.cameraWithLatitude(58.998400,longitude: 10.035604, zoom: 1)


    CATransaction.begin()
    CATransaction.setValue(2.0, forKey: kCATransactionAnimationDuration)
    let city = GMSCameraPosition.cameraWithLatitude(58.998400,longitude: 10.035604, zoom: 15)
    self.mapView.animateToCameraPosition(city)
    CATransaction.commit()
0 голосов
/ 14 октября 2019

Вам не нужно использовать UIView.animate на карте Google, поскольку у карты Google есть собственный метод анимации с уровнем масштабирования.

Вам просто нужно вызвать этот метод.

let lat = 21.78841 //latitude of the location to display on map
let lng = 72.25478 //longitude of the location to display on map
let camera = GMSCameraPosition(target: CLLocationCoordinate2D(latitude: lat, longitude: lng), zoom: 17)
 mapView.animate(to: camera)

Из Документа Google.

/** Animates the camera of this map to |cameraPosition|. */
- (void)animateToCameraPosition:(GMSCameraPosition *)cameraPosition;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...