ios - 如何设置 MKMap View 的缩放级别使 MKCircle(可变半径)可见?

标签 ios objective-c iphone mapkit mkcircle

我的 map View 包含一个圆圈,它用一个中心点覆盖许多精确点。每当用户单击一个按钮时, map 应该放大到圆圈可见的级别。 map 不应该放大或缩小它应该显示精确的圆。当用户注销时,下一次登录时圆将具有新的半径。如何计算适当的缩放级别。 我的代码:

-(void)showCircle{

   //calculate new radius
    long radius=[self calculateRadius];
    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);
    MKCoordinateSpan span;

    //calculate zoom level
    double radius=[circle radius]);
    double rad = radius + radius / 2;

    double scale = rad / 500;
    zoomLevel=(16 - log(scale) / log(2));

    region.span.latitudeDelta  =zoomLevel;
    region.span.longitudeDelta =zoomLevel;

    [myMapView setRegion:region animated:YES];
}

提前致谢!

最佳答案

你可以试试:mapRectThatFits(:) mapRectThatFits( :edgePadding:)

可能是这样的,根据你的圈子缩放 map :

myMapView.visibleMapRect = [myMapView mapRectThatFits:circle.boundingMapRect];

希望这对你有帮助:)

关于ios - 如何设置 MKMap View 的缩放级别使 MKCircle(可变半径)可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41500584/

相关文章:

ios - 使用附加数据库加密 sqliteDB 不加密任何内容?

ios - Realm 中有没有办法为嵌套对象实现 order_by

ios - 仅在 UIImagePickerController 中显示视频

ios - 顶部工具栏和导航栏常用模糊效果

ios - 无法将透明的应用程序图标设置为 iTunes Connect

ios - 加入混合的从右到左和从左到右的语言字符串时的奇怪行为

ios - 进度 HUD 未显示在正确的 View Controller 上

ios - NSURLErrorDomain Code=-1202 使用同步请求时

ios - 按 UIbutton 显示 UITextView 频繁

iphone - 在delphi中使用WebKit(兼容Safari)模拟iPhone手机