2

我创建了一个 CLLocationManager,并从中接收 gps 更新,但我怀疑地图视图是否有自己的位置管理器,在这种情况下会有两个位置管理器吗?这是否会影响我的申请?如果它有自己的位置管理器

4

2 回答 2

4

MKMapView 有自己的位置管理器。这就是为什么你可以像这样直接在地图上显示用户位置myMapView.showsUserLocation=YES;

为什么您使用单独的位置管理器 im MKMapView?您可以通过这种方式捕获当前用户位置。

        CLLocationCoordinate2D location = [[myMapView userLocation] location].coordinate;
        double currentLat = location.latitude;
        double currentLong = location.longitude;

另外我不认为在 MKMapView 中使用单独的位置管理器会导致任何问题。

于 2013-01-10T06:54:05.553 回答
1

是的,它确实。只要您选择并坚持使用它,它就不会影响您的应用程序。虽然,我会指出,有两个(或一个空的)是糟糕的编码实践。使用以下函数访问您MKMapView的 locationManager:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation;
于 2013-01-10T06:50:24.477 回答