我只是将 GMSMapView 添加到 viewcontroller 内的视图中,但它没有居中,因为CLLocation它给出了正确的坐标,蓝点出现在正确的位置,但只是地图略微向右下方移动,我不知道为什么。我尝试像在应用程序启动后打开的第一页一样直接运行它,然后它工作正常,但是当我展示我的 VC 时,地图会发生变化。请任何人都可以帮忙。
仅当我呈现视图控制器时才会发生这种情况,而不是当我推送视图控制器时
如您所见,正确的位置是蓝点所在的位置:
我只是将 GMSMapView 添加到 viewcontroller 内的视图中,但它没有居中,因为CLLocation它给出了正确的坐标,蓝点出现在正确的位置,但只是地图略微向右下方移动,我不知道为什么。我尝试像在应用程序启动后打开的第一页一样直接运行它,然后它工作正常,但是当我展示我的 VC 时,地图会发生变化。请任何人都可以帮忙。
仅当我呈现视图控制器时才会发生这种情况,而不是当我推送视图控制器时
如您所见,正确的位置是蓝点所在的位置:
我有同样的问题。对我有用的是将代码从中心viewDidLoad移到viewDidAppear
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
mapView.camera = GMSCameraPosition.camera(withLatitude: LocationConstants.defaultLat, longitude: LocationConstants.defaultLong, zoom: 15.0)
}
有趣的是,相同的代码在UIViewController另一个viewDidLoad.
尝试这个
let camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 16) let mapView = GMSMapView.map(withFrame: self.view.bounds, camera: camera)
让 mapView = GMSMapView(frame: self.view.bounds)