我正确地将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];
}发布于 2012-07-31 01:09:08
有了注释,就不需要实现viewForAnnotation委托方法,并且地图视图将绘制默认的红色图钉。
但是对于overlays,您必须实现viewForOverlay委托方法。
地图视图不提供默认覆盖视图。
https://stackoverflow.com/questions/11716465
复制相似问题