2011-09-18 65 views
3

是否可以使用以下方法在地图视图上创建不同的彩色多边形?不同颜色的多边形叠加

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

说如果我有2个多边形,我可以设置一个红色和另一个黄色?

+0

请您可以编辑从多个多边形的代码阵列。 –

回答

13

一种方法是使用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; 
} 
+0

感谢它的工作! – ChrisM