无法使用Google地图API(GMSMapView)获取当前位置
我尝试使用Google Map API从当前位置到另一个位置的方向。 当我手动input原点和目标点时,一切正常。 但是,当我尝试将原点设置为当前位置时,位置为下面的代码为空:
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
有没有人知道我的问题在这里? 很多
事情是:获取一个位置是asynchronous的,你如何做到这一点是期望它阻止,直到它那里…这不是它是如何工作的
你必须在地图和观察者myLocation中添加一个KVO观察者。
然后当你的观察方法被调用,你得到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]; //... } }
- 如果我嵌套dispatch_async调用会发生什么?
- 在滚动UITableView上调用Web服务
- 在iOS设备上找不到文件Qt Creator C ++ QStandardPaths :: standardLocations(QStandardPaths :: DownloadLo cation);
- CFBundleDocumentType在myproject-Info.plist文件中不起作用
- 如何从iOS中的UIImagePickerController中select多个图像
- iOS – AWS MobileHub使用开发人员身份validation的提供程序进行login
- 从iPhone应用程序中了解设备中的date和时间设置
- 在iOS的fopen问题
- 如何将dispatch_data_t转换为NSData?