разноцветные наложения полигонов - PullRequest
3 голосов
/ 19 сентября 2011

Можно ли создавать многоцветные полигоны на виде карты, используя следующий метод?

-(MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id )overlay{

Скажите, если бы у меня было 2 полигона, могу ли я установить один на красный, а другой на желтый?

1 Ответ

13 голосов
/ 19 сентября 2011

Одним из способов является использование свойства title, чтобы отличить один многоугольник от другого.

При добавлении полигонов установите их заголовок соответственно:

pone.title = @"one";
[mapView addOverlay:pone];

pother.title = @"other";
[mapView addOverlay:pother];

Затем в viewForOverlay вы можете установить цвет на основе заголовка:

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
    MKPolygonView *pv = [[[MKPolygonView alloc] initWithPolygon:overlay] autorelease];

    if ([overlay.title isEqualToString:@"one"])
        pv.fillColor = [UIColor redColor];
    else if ([overlay.title isEqualToString:@"other"])
        pv.fillColor = [UIColor yellowColor];
    else
        pv.fillColor = [UIColor blueColor];

    return pv;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...