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