Наложение не отображается на карте
Я пытаюсь добавить наложение полигонов на карту 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;
}
Любая помощь будет оценена!
Спасибо парень
1 ответ
Я наткнулся на ответ!
После того, как Анна в комментариях выше помогла мне заставить слой работать - казалось, что вы должны запустить mapView после добавления слоя. так после
[self.mapView addOverlay:worldOverlay level:MKOverlayLevelAboveRoads];
тебе нужно
mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];