脱机卫星地图在iOS上的加载速度太慢

脱机卫星地图在iOS上的加载速度太慢,ios,swift,mapbox,Ios,Swift,Mapbox,我们正在使用MapBox SDK开发一个iOS移动应用程序,用于离线地图 iOS MapBox SDK目前面临两个主要问题 我们能够成功下载地图。该应用程序在小区域地图上运行得很好,但是如果我们下载大的离线区域/包,同样的代码会花费太多时间来加载大地图。专门用于地图盒卫星街道地图,尺寸超过2GB。但这在安卓系统中并没有发生 由于脱机地图的大小非常大,如果我们尝试删除脱机包,则会花费太多时间,并且不允许下载更多地图,因为平铺限制计数已超过 您能否指导我们如何使此应用程序更好地与iOS中的脱机地图配

我们正在使用MapBox SDK开发一个iOS移动应用程序,用于离线地图

iOS MapBox SDK目前面临两个主要问题

  • 我们能够成功下载地图。该应用程序在小区域地图上运行得很好,但是如果我们下载大的离线区域/包,同样的代码会花费太多时间来加载大地图。专门用于地图盒卫星街道地图,尺寸超过2GB。但这在安卓系统中并没有发生

  • 由于脱机地图的大小非常大,如果我们尝试删除脱机包,则会花费太多时间,并且不允许下载更多地图,因为平铺限制计数已超过

  • 您能否指导我们如何使此应用程序更好地与iOS中的脱机地图配合使用

    我们遵循了MapBox SDK提供的所有iOS文档,但无法在大型脱机包的情况下调整性能

    在iOS中加载脱机包的源代码

    if (packs.count) > 0{
    
                for i in 0..<(packs.count){
    
                    let dict = NSKeyedUnarchiver.unarchiveObject(with: packs[i].context ) as! [String: Any]
    
                    if (map.mapGenID) == "\(dict["mapID"]!)" {
                        index = i
                        break
                    }
                }
    
    
                if let tiles = MGLOfflineStorage.shared.packs?[index].region as? MGLTilePyramidOfflineRegion{
    
                    if let currentStyle = SharedMapView.shared().mapView.styleURL {
    
                        if !currentStyle.absoluteString.isEqual(tiles.styleURL.absoluteString) {
    
                            SharedMapView.shared().mapView.styleURL =  tiles.styleURL
                            SVProgressHUD.show(withStatus: "Loading Map ..")
    
    
                        }
                    }else{
    
                        SharedMapView.shared().mapView.styleURL =  tiles.styleURL
                    }
    
    
    
                        offlineMapBounds = tiles.bounds
                        SharedMapView.shared().mapView.minimumZoomLevel = tiles.minimumZoomLevel
                        SharedMapView.shared().mapView.maximumZoomLevel = tiles.maximumZoomLevel
                        SharedMapView.shared().mapView.setVisibleCoordinateBounds(offlineMapBounds, edgePadding: UIEdgeInsets(top: 12, left: 12, bottom: 12, right: 12), animated: true)
    
    
    
                }
            }
    
    我们希望快速加载大型脱机地图,因为它可以完美地处理小型地图

    MGLOfflineStorage.shared.removePack(self.packs[indexPath.row], withCompletionHandler: { (err) in
    
                        if (err == nil) { //Pack Deleted 
    
                         // Delete from Table row   
    
                        }
    
                    })