2017-11-16 2 views
1

Googleマップを使用していますが、subViewに正しく設定されていません。 私はviewDidLoadに次のコードを使用しているSWIFT 3.Googleマップがサブビューに正しく収まらない

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

を使用しています:私のシミュレータから

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

答えて

0

viewDidLoadでは、あなたのビューが完全にその時の境界に基づいてのMapViewのサイズを設定しますライン

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

ようにレンダリングされていません特定の時間。いくつかの回避策があります。 1つは、後でマップビューをレンダリングすることです。 viewWillAppearにあります。もう1つは、ストーリーボードにUIViewを作成し、制約を設定し、クラスをGMSMapViewにして@IBOutletに接続することです。また、autoresizingMask

を使用して修正することもできます
関連する問題