首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MKOverlayPathRenderer反转填充区域

MKOverlayPathRenderer反转填充区域
EN

Stack Overflow用户
提问于 2017-12-29 21:46:50
回答 1查看 266关注 0票数 1

我有一个用MKOverlayPathRenderer描述的多边形区域。我想填充多边形外部的区域,而不是填充多边形中封闭的区域。

如何反转MKOverlayPathRenderer的填充区域?

这是获取渲染器的函数:

代码语言:javascript
复制
func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    let renderer = parser.rendererForOverlay(overlay)! as! MKOverlayPathRenderer
    renderer.fillColor = UIColor.red
    renderer.strokeColor = UIColor.blue
    return renderer
}
EN

回答 1

Stack Overflow用户

发布于 2018-02-01 16:13:01

您可以在绘制覆盖图时使用"interiorPolygons“:

代码语言:javascript
复制
CLLocationCoordinate2D polygoneCoords[10]
= { {Point1LAT,Point1LONG}, {Point2LAT,Point2LONG}, {Point3LAT,Point3LONG}, {Point4LAT,Point4LONG},{Point5LAT,Point5LONG},{Point6LAT,Point6LONG},{Point7LAT,Point7LONG},{Point8LAT,Point8LONG},{Point9LAT,Point9LONG},{Point10LAT,Point10LONG}};
self.myPolygoneArea = [MKPolygon polygonWithCoordinates:polygoneCoords count:10];

CLLocationCoordinate2D worldCoords[6] = { {90, 0}, {90, 180}, {-90,180}, {-90,0}, {-90,-180}, {90,-180} };
myOverlay = [MKPolygon polygonWithCoordinates:worldCoords count:6 interiorPolygons:[NSArray arrayWithObject:myPolygoneArea]];

[self.MyMap addOverlay:myOverlay];

-(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay{

MKPolygonRenderer *polygon = [[MKPolygonRenderer alloc]initWithOverlay:overlay];

polygon.strokeColor = [UIColor redColor];
polygon.lineWidth = 2;
polygon.fillColor = [[UIColor blackColor]colorWithAlphaComponent:0.3];

return polygon;}

希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48023581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档