MKMapView有自己的位置管理器吗?

时间:2013-01-10 06:22:10

标签: iphone ios objective-c location mkmapview

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

2 个答案:

答案 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;