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