所以我有一个函数需要两个 MKMapRect,第二个与第一个相交。因此该函数创建了一个 MKPolygon,它是第一个没有相交部分的矩形:
-(void) polygons:(MKMapRect)fullRect exclude:(MKMapRect)excludeArea{
NSLog(@"Y is: %f height: %f",excludeArea.origin.y,excludeArea.size.height);
double top = excludeArea.origin.y - fullRect.origin.y;
double lft = excludeArea.origin.x - fullRect.origin.x;
double btm = (fullRect.origin.y + fullRect.size.height) - (excludeArea.origin.y + excludeArea.size.height);
double rgt = (fullRect.origin.x + fullRect.size.width) - (excludeArea.origin.x + excludeArea.size.width);
double ot = fullRect.origin.y, it = (ot + top);
double ol = fullRect.origin.x, il = (ol + lft);
double ob = (fullRect.origin.y + fullRect.size.height), ib = (ob - btm);
double or = (fullRect.origin.x + fullRect.size.width), ir = (or - rgt);
MKMapPoint points[11] = {{ol,it}, {ol,ot}, {or,ot}, {or,ob}, {ol,ob}, {ol,it}, {il,it}, {ir,it}, {ir,ib}, {il,ib}, {il,it}};
MKPolygon *polygon = [MKPolygon polygonWithPoints:points count:11];
}
我现在的问题是如何从这个 MKPolygon 中获得最小数量的 MKMapRects?我做了一些谷歌搜索以及浏览论坛,但没有找到任何东西。
编辑:所以目标如下:我有一个 MKMapRect rect1,然后我有一个矩形列表 rectList,它是与 rect1 相交的 MKMapRects,我想要做的是创建一个 rect1 的直线 MKPolygon,删除所有的表面从 rect1 的 rectList 中创建 MKMapRects,然后从创建的直线 MKPolygon 中创建最小数量的 MKMaprects。
现在的问题如下:从 rect1 中删除一个 MKMapRect 时,我能够创建一个多边形,但我不知道如何从 rect1 中删除以下 maprect,我不知道如何从创建的多边形中提取最小的 MkMapRect 集。
最好的问候窥视