谷歌地图不适合SubView,无法正确显示

3

我正在使用谷歌地图,但在subView中没有正确设置。 我正在使用Swift 3。

@IBOutlet weak var mapSubView: UIView!
 var mapView:GMSMapView!
var placesClient: GMSPlacesClient!

我在viewDidLoad中使用了以下代码:

let camera = GMSCameraPosition.camera(withLatitude: 28.616536, longitude: 77.379552, zoom: 12.0)
mapView = GMSMapView.map(withFrame: mapSubView.bounds, camera: camera)
mapSubView.addSubview(mapView)
mapView.delegate = self
self.drawPath()
placesClient = GMSPlacesClient.shared()

我的模拟器截图:

你可以看到谷歌地图附近右侧有空白区域。

以下是我的Storyboard截图:

enter image description here

1个回答

1
viewDidLoad中,您的视图尚未完全呈现,因此该行代码。
mapView = GMSMapView.map(withFrame: mapSubView.bounds, camera: camera)

将根据特定时间的边界设置地图视图的大小。有几个解决方法。其中一种是在稍后的时间(例如在viewWillAppear中)渲染你的地图视图。另一种方法是在storyboard中创建一个UIView,设置它的约束,将它的类设置为GMSMapView并连接一个@IBOutlet。此外,您还可以使用autoresizingMask来修复它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接