我创建了一个CLLocationManager,并从中接收了gps更新,但我怀疑mapview是否有自己的位置管理器,在这种情况下会有两个位置管理器吗?这是否会影响我的申请?如果它有自己的位置管理器
答案 0 :(得分:4)
MKMapView有自己的位置管理器。这就是为什么你可以直接在地图上显示用户位置myMapView.showsUserLocation=YES;
为什么你在MKMapView中使用单独的位置管理器?您可以通过这种方式捕获当前用户位置。
CLLocationCoordinate2D location = [[myMapView userLocation] location].coordinate;
double currentLat = location.latitude;
double currentLong = location.longitude;
另外我不认为在MKMapView中使用单独的位置管理器会导致任何问题。
答案 1 :(得分:1)
是的,确实如此。只要您选择一个并坚持使用它就不会影响您的应用程序。虽然,我会指出有两个(或一个空)是可怕的编码实践。使用以下函数访问MKMapView
的locationManager:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation;