所以我有一個函數需要兩個MKMapRect,第二個與第一個相交。所以函數創建一個MKPolygon是不交叉部的第一RECT:從MKPolygon獲取最小數量的MKMapRects
-(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];
}
我的問題是,現在我怎麼得到MKMapRects從這個MKPolygon的最低數量?我做了一些Google搜索以及瀏覽論壇,但沒有發現任何東西。
編輯: 所以目標如下: 我有一個MKMapRect Rect1的,那我也矩形列表,rectList,這是MKMapRects與Rect1的交叉和我想要做的就是創建Rect1的的直線MKPolygon ,從rect1中移除rectList中所有MKMapRects的表面,然後從創建的直線MKPolygon中創建最小數量的MKMaprects。
現在問題是:我可以創建一個多邊形,當從rect1中刪除一個MKMapRect,但我不知道如何從rect1中刪除以下maprects,我不知道如何從最小集合中提取MkMapRects創建了多邊形。
問候 窺視
對不起,如果我的問題不清楚,但我想要做的是以下幾點:我有兩個MKMapRects並構造一個Rectilinear MKPolygon(這是第一個MKMapRect的表面減去第二個表面)。之後,我想提取覆蓋MKPolygon表面的最小數量的MKMapRects – Peep
因此,您想要一個給定直線MKPolygon的方法返回一組最小的MKRects? – Mattia
正確。爲我的帖子添加了一個編輯,使事情更清晰。簡而言之,我想要做的是:從第一個maprect中刪除幾個MKMaprects的區域(這將創建一個直線的MKPolygon),然後從中提取最小數量的MKMapRects。現在我的方法只從兩個MapRects創建一個直線Polygon。 – Peep