我想將地圖中心初始化爲自定義位置。下面是我使用的初始化代碼:如何設置在Storyboard中定義的GMSMapView對象的中心位置
-(void)viewDidLoad{
[super viewDidLoad];
//mapView
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:41.0109
longitude:28.998
zoom:6];
self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
[self.mapView setCenter:CGPointMake(41.0109,28.998)];
}
當我運行這段代碼,只見中心格林威治而不是我給相機(41.0109,28.998)的位置的地圖。
當我調試代碼並打印出self.mapView.camera的位置時,輸出如下:GMSCameraPosition 0x17742ee0: target:(41.011, 28.998) bearing:0.000 zoomLevel:6.000 viewingAngle:0.000 lookAhead:0.000
。所以我成功地設置了相機的位置,它爲什麼打開格林威治的位置?
編輯:
請注意,MapView的是一個子視圖(UIView的),我添加到主頁,我試圖設置和修改的中心位置。 這是我的故事板快照:
當我嘗試修改mapView時,我無法設置地圖的位置。但是,如果我使用作爲窗口主視圖的「視圖」,則可以成功更改地圖的中心。
爲什麼會這樣?
如何設置GMSMapView的啓動位置?
編輯2 該項目的源代碼可以發現here
你是否更新到最新版本的GoogleMaps.framework。 – Linuxios
Linuxios,我正在使用cocoapods,這裏是我的PodFile:'pod「Google-Maps-iOS-SDK」,「〜> 1.6.1」'。它在[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios/start#getting_the_google_maps_sdk_for_ios)中說1.6.1是最新版本。 – ankakusu
嘗試在方法的末尾添加對'[map startRendering]'的調用。看看是否有幫助。 – Linuxios