different coloured polygon overlays

假装没事ソ 提交于 2019-12-29 07:13:17

问题


is it possible to create different coloured polygons on a map view using the following method?

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

say if i had 2 polygons could i set one to red and the other to yellow?


回答1:


One way is to use the title property to tell one polygon from another.

When adding the polygons, set their title accordingly:

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

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

Then in viewForOverlay, you can set the color based on title:

- (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;
}


来源:https://stackoverflow.com/questions/7464098/different-coloured-polygon-overlays

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!