Я теряю рассудок здесь. Почему это не работает? Метод update_map вызывается, но viewForOverlay этого не делает.iOS MKMapView viewForOverlay не называется
- (void)viewDidLoad {
[super viewDidLoad];
if(mapView2 != nil)
{
[self update_map];
}
- (void)update_map
{
CLLocationDistance fenceDistance = 100000;
MKCircle *circle = [MKCircle circleWithCenterCoordinate:newCoord radius:fenceDistance];
[mapView2 addOverlay:circle];
}
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{
NSLog(@"circle overlay");
MKCircleView *circleView = [[MKCircleView alloc initWithOverlay:overlay];
[circleView setFillColor:[UIColor blueColor]];
[circleView setAlpha:0.1f];
return circleView;
}
Вид карты посылает сообщения его делегату относительно загрузки картографических данных и изменений в отображаемой части карты. Мне интересно, если вы установили делегат? – ldindu
убедитесь, что mapView не равен нулю, а делегат установлен –