CLLocationManagerDelegate最准确的位置

时间:2013-01-26 14:05:18

标签: objective-c ios6 mkmapview cllocationmanager

我这里有一个简单的应用程序,可以获得用户最准确的位置并将其显示在MKMapView上。我正在使用下面的代码。

- (void) locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLLocation *location = [locations lastObject];
    NSDate *eventDate = location.timestamp;
    NSTimeInterval howRecent = [eventDate timeIntervalSinceNow];
    if (abs(howRecent) < 15.0){
        [manager stopUpdatingLocation];
        previusViewController.coordinate = location.coordinate;
        [self exhibitMap:location.coordinate];
    }
}

问题是默认情况下会多次调用此委托方法,这使得我的MKMapView有时会固定多个注释。如果有人之前遇到过这个问题,请告诉我,如果有一个直接的解决方案。

感谢, 马科斯。

1 个答案:

答案 0 :(得分:0)

我在添加MKPointAnnotation之前使用命令bellow解决了我的问题:

[self.map removeAnnotations:self.map.annotations];