2014-12-07 56 views
0

我已經創建了一個UIView,我想將Google地圖放進去。但是,當我將GMSMapview添加到我的UIView時,GMSMapview的底部不會擴展到適合UIView。我仍然可以看到我UIVIew的灰色部分。爲什麼Google地圖不適合我的UIView?

這是爲什麼?

enter image description here

- (void)viewDidLoad 
{ 
    // Create a GMSCameraPosition that tells the map to display the 
    // coordinate -33.86,151.20 at zoom level 6. 
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868 
                  longitude:151.2086 
                   zoom:6]; 
    GMSMapView *mapView = [GMSMapView mapWithFrame:self.googleMapView.bounds camera:camera]; 



    [self.googleMapView addSubview:mapView]; 
} 

回答

5

我懷疑你的界面不一定大小爲iPhone 6,所以當你設置viewDidLoadmapView框架,雖然它最初適合你googleMapView內,發生自動佈局之後,googleMapView延伸到適合屏幕和mapView保持相同的大小,這是太小了。

爲了解決這個問題,我建議把你的代碼viewDidLayoutSubviews:所以你mapView幀在googleMapView之後設置拉伸以填充整個屏幕,例如:

- (void)viewDidLayoutSubviews { 
    [super viewDidLayoutSubviews]; 
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868 
                  longitude:151.2086 
                   zoom:6]; 
    GMSMapView *mapView = [GMSMapView mapWithFrame:self.googleMapView.bounds camera:camera]; 
    [self.googleMapView addSubview:mapView]; 
} 
+0

謝謝你lyndsey,我標記你的解決方案。你可以看看我的另一篇關於谷歌地圖的帖子嗎?沒有人似乎知道這個問題:(謝謝:http://stackoverflow.com/questions/26772521/why-is-google-maps-sdk-not-working-on-iphone-6-ios-8 – Pangu 2014-12-07 06:25:26

+0

謝謝,工作對我來說 – 2017-11-16 08:58:00

+0

英雄!爲我們解決了很多問題 – Zach 2018-01-09 21:40:02

0

如果您有關於Xcode的7這個問題,什麼對我有效(我接受的答案不適用於我,因爲我在Swift中開發)正在檢查GMSMapView及其父(對於我來說是UIStackView)的「Autoresize Subviews」框。