在mapView-iOS上叠加多个多边形

时间:2012-11-08 00:04:32

标签: ios ios6 mkmapview mkoverlay ios6-maps

正如您在图像中看到的那样,mapView顶部有多个多边形。每个多边形都覆盖在其他多边形的顶部。这会导致不透明度问题,并通过引用色彩映射误导用户解释颜色。

在放置任何多边形之前,首先我要删除/清除新的多边形区域,然后添加多边形。

我希望我的问题清楚!如果没有,请告诉我。提前感谢。

我还在下面添加了部分代码作为参考!多边形数据来自服务器的JSON格式,我从这些数据中获取坐标,并将它们添加为每个时间戳的多边形。

for(bb = 0; bb < [polygonArray count]; bb++){
        coords = malloc(sizeof(CLLocationCoordinate2D) * [[polygonArray objectAtIndex:bb] count]);
        for (int a = 0;a < [[polygonArray objectAtIndex:bb] count]; a++){
            coords[a].latitude = [[[[polygonArray objectAtIndex:bb]objectAtIndex:a]objectAtIndex:0]doubleValue];
            coords[a].longitude = [[[[polygonArray objectAtIndex:bb]objectAtIndex:a]objectAtIndex:1]doubleValue];
        }
        polygon = [[MKPolygon alloc]init];
        polygon = [MKPolygon polygonWithCoordinates:coords count:[[polygonArray objectAtIndex:bb]count]];
        [previousPolygons addObject:polygon];
        [mapView addOverlay:polygon];
        }

    }

enter image description here

1 个答案:

答案 0 :(得分:0)

嗯。我有点不清楚你想做什么。如果您只想删除多边形,则必须找到一些如何找到要删除的多边形并运行

[mapView removeOverlay:polygon]

如果要删除所有多边形,则可以运行

[mapView removeOverlays:mapView.overlays]