相关疑难解决方法(0)

使用MKMapView时如何设置精度和距离滤镜

当我使用setShowsUserLocationMKMapView跟踪用户的位置,我该如何设置的准确性和距离过滤器?我不是在谈论CLLocationManager.

谢谢,

iphone mkmapview cllocationmanager ipad ios

29
推荐指数
1
解决办法
4万
查看次数

iPhone开发 - CLLocationManager与MapKit

如果我想在地图上显示用户位置,并在同一时间记录用户的位置,它是一个好主意,添加一个观察者userLocation.location并记录位置,或者我应该仍然使用CLLocationManager用于记录用户位置和使用方法mapView.showUserLocation显示用户的当前位置(蓝色指示灯)?我想显示MapKit API支持的默认蓝色指示器.

另外,这是一个粗略的示例代码:

- (void)viewDidLoad {
    ...

    locationManager = [[CLLocationManager alloc] init]; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.distanceFilter = DISTANCE_FILTER_VALUE;
    locationManager.delegate = self; 
    [locationManager startUpdatingLocation];

    myMapView.showUserLocation = YES;
    [myMapView addObserver:self forKeyPath:@"userLocation.location" options:0 context:nil];

    ...
}

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    // Record the location information
    // ...
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { 
    NSLog(@"%s begins.", __FUNCTION__);

    // Make sure that the location returned has the desired accuracy
    if (newLocation.horizontalAccuracy <= manager.desiredAccuracy)
        return;

    // Record the …
Run Code Online (Sandbox Code Playgroud)

iphone mapkit mkmapview cllocationmanager showuserlocation

5
推荐指数
1
解决办法
5356
查看次数