我已经将MKCircle作为MKOverlay添加到我的MKMapView中.我还添加了一个UISlider来决定圆的半径.不幸的是,当使用它时,它似乎有点"滞后",不像我想要的那样流畅.
示例:http: //dl.dropbox.com/u/3077127/mkoverlayDelay.mov
这是我的代码:
- (void)addCircle
{
// draw the radius circle for the marker
double radius = 2000.0;
MKCircle *circle = [MKCircle circleWithCenterCoordinate:location radius:radius];
[circle setTitle:@"background"];
[mapView addOverlay:circle];
MKCircle *circleLine = [MKCircle circleWithCenterCoordinate:location radius:radius];
[circleLine setTitle:@"line"];
[mapView addOverlay:circleLine];
}
- (void)addCircleWithRadius:(double)radius
{
MKCircle *circle = [MKCircle circleWithCenterCoordinate:location radius:radius];
[circle setTitle:@"background"];
[mapView addOverlay:circle];
MKCircle *circleLine = [MKCircle circleWithCenterCoordinate:location radius:radius];
[circleLine setTitle:@"line"];
[mapView addOverlay:circleLine];
}
- (void)sliderChanged:(UISlider*)sender
{
[mapView removeOverlays:[mapView overlays]];
double radius = (sender.value * 100);
[self addCircleWithRadius:radius]; …Run Code Online (Sandbox Code Playgroud) 当我尝试在我的MKMapView中移动MKCircle时,我收到此错误消息:-[MKCircle setCoordinate:] unrecognized selector ...但根据文档,MKCircle符合MKAnnotation协议,所以它应该setCoordinate:实现方法(此外Xcode为我提供自动提示,调试器不显示任何警告).
有谁知道问题出在哪里?
非常感谢.
我有一个从MKOverlayPathView继承的地图自定义视图.我需要这个自定义视图来显示圆,线和文本.
我已经设法使用路径绘制CGPathAddArc和CGPathAddLineToPoint函数绘制圆和线.
但是,我仍然需要添加文字.
我尝试使用添加文本
[text drawAtPoint:centerPoint withFont:font];
Run Code Online (Sandbox Code Playgroud)
但我得到了无效的上下文错误.
任何的想法?