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;
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…