我有一个多边形数组,该数组是从每个多边形坐标的数据文件中创建的。
因此,当我在地图上绘制它们时,我使用:
[mapView addOverlays:polygonArray];
在我看来ForOverlay:
if ([overlay isKindOfClass:[MKPolygon class]]) {
MKPolygonView *polyView = [[MKPolygonView alloc] initWithPolygon:overlay];
polyView.fillColor = [[UIColor redColor] colorWithAlphaComponent:0.1];
polyView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.1];
polyView.lineWidth = 1;
return polyView;
}
else {
return nil;
}
问题在于,关于我的“colorWithAlphaComponent”,代码似乎重用并为每个多边形重新创建了 polyView。因此第一个是 alpha 0.1 但第二个是 2x 等等。所以最后几个多边形不再“透视”了。
这是它的外观: