0

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];
}
4

1 に答える 1

1

アノテーションを使用すると、viewForAnnotationデリゲート メソッドを実装する必要はなく、マップ ビューはデフォルトの赤いピンを描画します。

ただし、オーバーレイの場合は、viewForOverlaydelegate メソッドを実装する必要があります。
マップ ビューは、デフォルトのオーバーレイ ビューを提供しません。

于 2012-07-30T17:09:08.470 に答える