0
我正确地将MapView连接到我的代理上。此外,用户位置确实显示在地图上,但应该显示在同一位置的MKCircle不会这样做。它在某个时候起作用,但不知何故停止工作。这是我的一些代码。MKCircle覆盖图未在MapView上绘制
- (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];
}
是locationManager的一个属性? didUpdateToLocation被调用了吗?你是否实现了viewForOverlay委托方法? – Anna 2012-07-30 12:21:18
嗨,locationManager是一个伊娃。 didUpdateToLocation被调用。而且我还没有实现viewForOverlay委托方法,根据文档,这似乎不需要。 – ratsimihah 2012-07-30 16:35:38
所以我让我的ivar属性,并实现了viewForOverlay方法。而且还没有出现。于是我用一种颜色填充覆盖层,这种颜色很有用,让我意识到我的覆盖层实际上正在绘制,但是看不见。你可以写你的评论作为答案,我会标记你是正确的答案。 – ratsimihah 2012-07-30 16:46:29