3

我正在尝试MKCircle通过移动UISlider. 问题是 的radius属性MKCirclereadonly

我试过这样:

- (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 一样)。有没有更好更快的方法来改变半径?

谢谢...

4

1 回答 1

0

您可能对这个问题的答案感兴趣:moving/updating MKOverlay on MKMapView

基本上,不是删除旧圆圈并添加一个新圆圈,而是调整当前圆圈并告诉地图视图重绘该区域。

于 2013-07-03T20:08:03.963 回答