我想在按钮单击事件中显示 mkcircle。我必须使用圆半径计算 MKMapView 的缩放级别以使圆引人注目。让半径可以任意小或大,但 mkmapview 上的 mkcircle 应该足够大,如屏幕截图中给出的那样。我的代码:
- (IBAction)showCircle:(id)sender {
long radius=[self calculateRadius];
NSLog(@"draw circle of radius=%ld",radius);
MKCircle *circle= [[MKCircle alloc]init];
circle = [MKCircle circleWithCenterCoordinate:CLLocationCoordinate2DMake([groupLat floatValue], [groupLon floatValue]) radius:radius];
[myMapView addOverlay:circle];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake([groupLat floatValue], [groupLon floatValue]), 800, 800);
//calculate zoom level
double radius = [circle radius] + [circle radius] / 2;
double scale = radius / 500;
zoomLevel=(16 - log(scale) / log(2));
region.span.latitudeDelta =zoomLevel;
region.span.longitudeDelta =zoomLevel;
[myMapView setRegion:region animated:YES];
//问题是圆看起来很小,外面的空间更大
任何建议,将不胜感激。谢谢你!