Tag: mkoverlay

在MKMapView中围绕用户位置绘制一个半径为1000m的圆

(使用iOS 5和Xcode 4.2) 我有一个MKMapView,并希望在用户位置周围绘制一个半径为1000米的圆。 表面上看来,实现mapView:viewForAnnotation: map view委托方法,并添加一个自定义的MKAnnotationView为用户的位置,将是一个完美的解决scheme。 它看起来像这样: – (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation { // If it's the user location, return my custom MKAnnotationView. if ([annotation isKindOfClass:[MKUserLocation class]]) { return myCustomAnnotationView; } else { return nil; } } 但是,当您放大和缩小地图时,地图上的注释不会缩放。 所以我尝试添加覆盖图(因为覆盖图与地图缩放),使用MKCircle类并将其坐标设置为我的locationManger / map视图委托的最新坐标。 然而,由于MKCircle的坐标属性是只读的,我不得不删除覆盖,然后每次用户移动时添加一个新的。 发生明显的闪烁。 在缩放地图视图时,是否有任何方法可以无缝地进行注释比例缩放? 还是有一个很好的方式来使覆盖移动与用户位置的变化无缝的? 我会很感激你的帮助:)