Google地图无法正确放入SubView

时间:2017-11-16 07:33:38

标签: ios swift swift3 google-maps-sdk-ios

我正在使用Google地图,但在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()

我模拟器的截图:

您在谷歌地图右侧看到了空白区域

我的故事板上的截图:

enter image description here

1 个答案:

答案 0 :(得分:0)

viewDidLoad中,您的视图未完全渲染,因此行

mapView = GMSMapView.map(withFrame: mapSubView.bounds, camera: camera)

将根据特定时间的边界设置mapView的大小。有几个工作。一种是在以后渲染mapView,例如在viewWillAppear。另一种方法是在故事板中创建UIView,设置它的约束,使其类为GMSMapView并连接@IBOutlet。此外,您可以使用autoresizingMask

进行修复