我正确地将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];
}
答案 0 :(得分:1)
使用注释,不需要实现viewForAnnotation
委托方法,地图视图将绘制默认的红色针脚。
但是对于叠加层,您必须实施viewForOverlay
委托方法
地图视图不提供默认的叠加视图。