Я разделил MKAnnotationView на подклассы для создания аннотации, которая в основном рисует круг вокруг точки на представлении карты посредством переопределения drawRect. Круг тянет прекрасный в следующих ситуациях (в средстве моделирования):
Круг исчезнет, когда любое из следующих действий произойдет:
Круг вновь появится, если какие-либо из мер в "рабочей" группе будут приняты после того, как это исчезло.
Что могло бы вызвать это? Я не тянуть/отображать/расположение эксперт (откровенно говоря, я не obj C или эксперт iPhone ни один).
Вот некоторый немного упрощенный код, который кажется самым релевантным от моего подкласса MKAnnotationView:
- (void)drawRect:(CGRect)rect {
// Drawing code
[self drawCircleAtPoint:CGPointMake(0,0) withRadius:self.radiusInPixels andColor:self.circleAnnotation.color];
}
- (void)drawCircleAtPoint:(CGPoint)p withRadius:(int)r {
CGContextRef contextRef = UIGraphicsGetCurrentContext();
float alpha = 0.75;
CGContextSetRGBFillColor(contextRef, 255, 0, 0, alpha);
CGContextSetRGBStrokeColor(contextRef, 255, 0, 0, alpha);
// Draw a circle (border only)
CGContextStrokeEllipseInRect(contextRef, CGRectMake(0, 0, 2*r, 2*r));
}