1

我只是将 GMSMapView 添加到 viewcontroller 内的视图中,但它没有居中,因为CLLocation它给出了正确的坐标,蓝点出现在正确的位置,但只是地图略微向右下方移动,我不知道为什么。我尝试像在应用程序启动后打开的第一页一样直接运行它,然后它工作正常,但是当我展示我的 VC 时,地图会发生变化。请任何人都可以帮忙。

仅当我呈现视图控制器时才会发生这种情况,而不是当我推送视图控制器时

如您所见,正确的位置是蓝点所在的位置:

4

2 回答 2

4

我有同样的问题。对我有用的是将代码从中心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.

于 2020-07-23T23:33:17.577 回答
0

尝试这个

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)

于 2018-08-01T09:25:53.943 回答