2013-12-16 116 views
0

我嘗試使用Google Map API獲取從當前位置到其他位置的方向。當我手動輸入原點和目標點時,一切正常。但是,當我嘗試設置原點作爲當前的位置,該位置是空如下面的代碼:無法使用Google Map API獲取當前位置(GMSMapView)

mainMap=[[GMSMapView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; 
GMSCameraPosition *camera = [GMSCameraPosition cameraWithTarget:[mainMap.myLocation coordinate] zoom:13]; 
mainMap.camera=camera; 
mainMap.myLocationEnabled=YES; // <---- The blue point appear on map: it's exactly my location 

[self.view addSubview:mainMap]; 

//Get mylocation 
CLLocation *myLocation = mainMap.myLocation; // <----- NULL 

是否有任何身體知道這裏有什麼是我的問題嗎?韓國社交協會很多

+0

mainMap.myLocation只設置異步因爲它的目的不是要阻止(這將是壞的) –

回答

3

的事情是:獲得一個位置是異步的,它是怎麼做的,你希望它阻止,直到它的存在......這不是它是如何工作

你必須添加一個KVO觀察者客棧地圖和觀察者myLocation。
然後當您的觀察方法被調用時,您將獲得myLocation。

(這是藍點是如何工作太:))

- (void)viewDidLoad { 
    //... 
    [self.mapView addObserver:self forKeyPath:"myLocation" options:0 context:nil]; 
} 
- (void)dealloc { 
    [_mapView removeObserver:self forKeyPath:@"myLocation"]; 
} 

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 
    if([keyPath isEqualToString:@"myLocation"]) { 
     CLLocation *l = [object myLocation]; 
     //... 
    } 
} 
+0

韓國社交協會!我正在嘗試你的建議 –

+0

Tks you so much –

+0

我仍然無法使用ios 8.3獲得我的當前位置 請參閱此請 http://stackoverflow.com/questions/31016422/ios-getting-my-location-regularly -and設定按鈕到獲得-MY-位置的谷歌 –

相關問題