2011-09-18 64 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