5
我使用mapkit在iPhone與iOS 4 我使用的是自定義的疊加和定製覆蓋圖,繪製在地圖上的形狀不描邊路徑。 目前,形狀只是矩形,但我正在計劃一些更復雜的東西。這就是爲什麼我不使用MKPolygon覆蓋類型。 這是我的重疊視圖繪製方法的代碼:可以mapkit重疊視圖
-(void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context
{
// Clip context to bounding rectangle
MKMapRect boundingMapRect = [[self overlay] boundingMapRect];
CGRect boundingRect = [self rectForMapRect:boundingMapRect];
CGContextAddRect(context, boundingRect);
CGContextClip(context);
// Define shape
CGRect shapeRect = CGRectMake(0.5f, 0.5f, boundingRect.size.width - 1.0f, boundingRect.size.height - 1.0f);
// Fill
CGContextSetRGBFillColor(context, 0.5f, 0.5f, 0.5f, 0.5f);
CGContextFillRect(context, shapeRect);
// Stroke
CGContextSetRGBStrokeColor(context, 0, 0, 0, 0.75f);
CGContextSetLineWidth(context, 1.0f);
CGContextStrokeRect(context, shapeRect);
}
的問題是,矩形得到正確填寫(所以會出現他們的邊界矩形設置正確),但他們沒有得到撫摸。 任何人都可以幫忙嗎? 謝謝!
雖然我不知道解決方案,但我只是想引起您的注意[CGRectInset](http://developer.apple.com/library/ios/DOCUMENTATION/GraphicsImaging/Reference/CGGeometry/Reference/reference。 html#// apple_ref/c/func/CGRectInset)(而不是用'CGRectMake'創建矩形)。 – DarkDust
剛剛發生在我身上:如果你進一步插入矩形,矩形會被撫摸嗎?所以先填充它,然後用另一個0.5插入矩形,然後撫摸它? – DarkDust
找到與此相關的另一個問題:http://stackoverflow.com/questions/5274164/custom-mkoverlayview-line-width如此看來,問題是線寬縮放,它看起來像我解決我這樣的代碼:CGContextSetLineWidth(context,5.0f/zoomScale); –