Так я запускаю map
- GMSMapView
class ViewController: UIViewController {
var map = GMSMapView()
override func viewDidLoad() {
super.viewDidLoad()
setupGoogleView()
}
private func setupGoogleView() {
guard let coordinates = getUserLocation() else { return }
let camera = GMSCameraPosition.camera(withLatitude: coordinates.latitude, longitude: coordinates.longitude, zoom: 16.0)
self.map = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
map.settings.tiltGestures = false
map.mapType = .satellite
map.delegate = self
map.frame = view.frame
self.view.addSubview(map)
}
}
Проблема возникает, когда я вызываю эту функцию откуда-то еще в файле
private func animateTo(location: CLLocationCoordinate2D) {
DispatchQueue.main.async {
let cameraPosition = GMSCameraPosition(target: location, zoom: 20)
self.map.animate(toLocation: location)
self.map.animate(to: cameraPosition)
}
}
Я пытаюсь переместить камеру по некоторым координатам, но ничего не происходит. Я пробовал каждое решение на stackoverflow
и google
.
У меня lat
и lng
в location
- проверено. Функция вызывается - проверено.
Я также пытался self.view.layoutSubviews()
, self.view.layoutIfNeeded()
, а также для map