Почему GMSMapView не установлен по соответствующей координате? - PullRequest
0 голосов
/ 04 марта 2019

Это может быть часто задаваемый вопрос, но, хотите верьте, хотите нет, я не нашел ответа, который помог бы мне решить мою проблему.

Тем не менее, я пробовал несколько решений и не понимаю, почему иногдакамера объекта GMSMapView не инициализируется в правильном положении.

Я перетащил UIView в моей сцене UIViewController из Интерфейсного Разработчика, установите его как GMSMapView объект.

Вот мой метод setCamera:

private func setCamera(lat: Double, long: Double, zoom: Float) {

    let camera = GMSCameraPosition.camera(withLatitude: lat, longitude: long, zoom: zoom)
    mapView.camera = camera
    mapView.setMinZoom(5, maxZoom: 15)
}

Я пытался вызвать его в viewDidLoad или viewWillAppear, это то же самое поведение.

1 из 5 запусков (приблизительно), камера не отцентрирована по правильной координате, такое чувство, что GMSMapView инициализирован со случайной камерой.

Как это исправить?

1 Ответ

0 голосов
/ 04 марта 2019

Это моя инициализация GMSMapView:

let camera = GMSCameraPosition.camera(withTarget: myLocation.coordinate, 
                                      zoom: mapDefaultZoom)
let mapView = GMSMapView.map(withFrame: view.bounds, 
                             camera: camera)
view.addSubview(mapView)

Это обновление положения камеры:

let bounds = GMSCoordinateBounds().includingCoordinate(position)
let update = GMSCameraUpdate.fit(bounds, 
                                 withPadding: 60)
mapView.animate(with: update)

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...