我试图通过移动一个MKCircle来改变UISlider的半径。问题是MKCircle的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 )。有更好更快的方法来改变半径吗?
谢谢..。
发布于 2013-07-03 20:08:03
您可能对这个问题的答案感兴趣:moving/updating MKOverlay on MKMapView
基本上,与其删除旧的圆圈并添加一个新的圆圈,不如调整当前的圆,并告诉地图视图重新绘制该区域。
https://stackoverflow.com/questions/17451299
复制相似问题