2013-07-03 27 views
2

我試圖通過移動UISlider來更改MKCircle的半徑。 問題是MKCircleradius屬性是只讀使用UISlider在MKMapView上更改半徑爲MKCircle

我試過這樣:

- (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文件)。 有更好更快的方法來改變半徑嗎?

謝謝...

回答

0

你可能有興趣在回答這個問題:moving/updating MKOverlay on MKMapView

基本上,而不是刪除舊的圈子和添加一個新的,你調整當前的一個,告訴mapview重繪該區域。

+0

我有一個'MKCircle'而不是'MKOverlayView' ... – Fry

+0

MKCircle符合MKOverlay協議 – Craig

+0

@Craig MKCircle半徑是隻讀的,所以無法調整。 – rr1g0