是否可以使用以下方法在地图视图上创建不同的彩色多边形?
-(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;
}