Я пытаюсь добавить наложение многоугольника на карту MKMapKit. Карта появляется, но полигон не ... Я пропустил что-то очевидное?Оверлей не отображается на карте
код прилагается:
- (void)viewDidLoad
{
[super viewDidLoad];
self.mapView.showsPointsOfInterest = NO;
CLLocationCoordinate2D worldCoords[4] = { {43,-100}, {43,-80}, {25,-80}, {25,-100} };
MKPolygon *worldOverlay = [MKPolygon polygonWithCoordinates:worldCoords count:4];
[self.mapView addOverlay:worldOverlay level:MKOverlayLevelAboveRoads];
}
А класс Renderer ...
- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
{
if (![overlay isKindOfClass:[MKPolygon class]]) {
return nil;
}
MKPolygon *polygon = (MKPolygon *)overlay;
MKPolygonRenderer *renderer = [[MKPolygonRenderer alloc] initWithPolygon:polygon];
renderer.fillColor = [[UIColor darkGrayColor] colorWithAlphaComponent:0.4];
return renderer;
}
Любая помощь будет оценен по достоинству!
Благодаря Guy
ли вид карты в Делегат набор/подключен? – Anna
Привет Анна - да, это – guyh92
После вызова addOverlay поместите 'NSLog (@" mapView =% @, количество наложений =% d ", self.mapView, self.mapView.overlays.count);' и посмотреть, что он говорит , Также поставьте NSLog или точку останова в методе rendererForOverlay, чтобы узнать, вызвано ли оно вызовом. Вопрос говорит «и класс Renderer ...». Означает ли это, что метод rendererForOverlay не находится в том же классе, что и viewDidLoad, или вы имели в виду «и метод Renderer»? – Anna