UPDATE滚动的MKMapView圆下方绘制的MKMapView
我需要画一个圆到MKMapView
,一些地方我可以得到圆的半径和它的中心坐标。但是,我还希望该圆是MKMapView
的子视图,以便地图视图可以在圆下面滚动,在地图移动时更新其中心坐标,并在地图放大和缩小时更新其半径。
有谁知道我可能能做到这一点?
这是问题的最初的措辞
我用下面的代码画出的圆到MKMapView
:
- (void)viewDidLoad
{
[super viewDidLoad];
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.region = [MKCircle circleWithCenterCoordinate:self.locationManager.location.coordinate radius:kViewRegionDefaultDistance];
[self.mapView addOverlay:self.region];
}
- (MKOverlayPathRenderer *)mapView:(MKMapView *)map viewForOverlay:(id <MKOverlay>)overlay
{
MKCircleRenderer *region = [[MKCircleRenderer alloc] initWithOverlay:overlay];
region.strokeColor = [UIColor blueColor];
region.fillColor = [[UIColor blueColor] colorWithAlphaComponent:0.4];
return region;
}
这工作,并产生在一个圆地图视图。但是,当我滚动地图视图时,圆圈随之移动。 我希望圆圈保持静止,并让地图视图在圆圈下方滚动。
重要的是要注意,我需要获取圆的中心坐标和半径以创建区域。出于这个原因,我不能简单地在MKMapView上绘制一个UIView,因为我无法获得以UIView为单位的半径。
这为添加和用于覆盖除去MKCircle更稳定的溶液。感谢您发布它。 – Carl