アップデート
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;
}
これが機能し、マップ ビューに円が生成されます。ただし、マップ ビューをスクロールすると、円が一緒に移動します。円を固定したままにして、マップ ビューを円の下にスクロールさせたいと思います。
regionを作成するには、円の中心座標と半径を取得する必要があることに注意してください。そのため、UIView の半径をメートル単位で取得する方法がないため、MKMapView の上に UIView を単純に描画することはできません。