MKCircle叠加层未在MapView上绘制

时间:2012-07-30 06:41:33

标签: objective-c ios map overlay mkoverlay

我正确地将MapView连接到我的委托。此外,用户位置确实显示在地图上,但应该显示在同一位置的MKCircle不会这样做。它在某些方面起作用,但不知何故停止了工作。这是我的一些代码。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        locationManager = [[CLLocationManager alloc] init];
        [locationManager setDelegate:self];
        [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
        [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    userLocation = newLocation;
    MKCircle *circle = [MKCircle circleWithCenterCoordinate:userLocation.coordinate radius:500];
    circle.title = @"Nearby sites";
    [worldView addOverlay:circle];
}

1 个答案:

答案 0 :(得分:1)

使用注释,不需要实现viewForAnnotation委托方法,地图视图将绘制默认的红色针脚。

但是对于叠加层,您必须实施viewForOverlay委托方法 地图视图不提供默认的叠加视图。