【问题标题】:MKMapView reset back to world viewMKMapView 重置回世界视图
【发布时间】:2011-06-12 13:43:35
【问题描述】:

如何将MKMapView 重置为世界视图缩放级别?

【问题讨论】:

    标签: ios iphone cocoa cocoa-touch mkmapview


    【解决方案1】:

    世界的地图矩形存储为名为@9​​87654322@的常量。

    MKCoordinateRegion worldRegion = MKCoordinateRegionForMapRect(MKMapRectWorld);
    map.region = worldRegion;
    

    另一种方法是设置地图的缩放级别。尽管 MapKit 框架不像 Google Maps API 那样支持缩放级别,但您可以使用由 Troy Brant 编写的 category extension

    将中心坐标设置为 0, 0 缩放级别为 0 以获得相同的结果。

    [map setCenterCoordinate:CLLocationCoordinate2DMake(0, 0) zoomLevel:0 animated:0];
    

    【讨论】:

      【解决方案2】:

      试试这个:

      MKCoordinateRegion region = MKCoordinateRegionMake(mapView.centerCoordinate, MKCoordinateSpanMake(180, 360));
      [mapView setRegion:region animated:YES]; 
      

      这将使用当前中心坐标和最大可能跨度(纬度 180 度,经度 360 度)为地图视图设置一个新区域。

      【讨论】:

        【解决方案3】:

        对于那些希望在 Swift 中做到这一点的人:

        let region = MKCoordinateRegion(.world)
        mapView.setRegion(region, animated: true)
        

        【讨论】:

          【解决方案4】:

          MKMapView不能缩小显示整个世界。无论您使用什么,MKMapRectWorld、缩放级别 0 或 MKCoordinateSpanMake(180, 360)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-05-31
            • 2014-02-01
            • 2020-09-30
            • 1970-01-01
            • 2020-06-03
            相关资源
            最近更新 更多