使用 UISlider 在 MKMapView 上将半径更改为 MKCircle
Posted
技术标签:
【中文标题】使用 UISlider 在 MKMapView 上将半径更改为 MKCircle【英文标题】:Change radius to MKCircle on MKMapView with UISlider 【发布时间】:2013-07-03 14:52:55 【问题描述】:我正在尝试通过移动UISlider
来更改MKCircle
的半径。
问题是MKCircle
的radius
属性是只读。
我是这样尝试的:
- (void)sliderValueChanged:(UISlider *)sender
self.radiusLabel.text = [NSString stringWithFormat:@"%i mt", value];
MKCircle * oldC = (MKCircle *)self.mapView.overlays[0];
MKCircle * c = [MKCircle circleWithCenterCoordinate:self.lastLocation.coordinate radius:value];
[self.mapView addOverlay:c];
[self.mapView removeOverlay:oldC];
但是渲染速度非常慢,并且圆是逐块渲染的(就像石英中的 pdf 一样)。 有没有更好更快的方法来改变半径?
谢谢...
【问题讨论】:
【参考方案1】:您可能对此问题的答案感兴趣:moving/updating MKOverlay on MKMapView
基本上,不是删除旧圆圈并添加一个新圆圈,而是调整当前圆圈并告诉地图视图重绘该区域。
【讨论】:
MKCircle 符合 MKOverlay 协议以上是关于使用 UISlider 在 MKMapView 上将半径更改为 MKCircle的主要内容,如果未能解决你的问题,请参考以下文章
MKAnnotations 已成功制作,但有时无法在 MKMapView 上呈现
如何在 iOS 中使用 MpMoviePlayerController 在 UISlider 上显示缓冲数据?