在开始下载之前,我想知道该区域的大小。我使用countOfBytesCompleted方法返回以字节为单位的区域大小,但是每次移动地图时,即使返回初始位置,该值也会增加。为什么?也许是因为每次我计算脱机区域的大小时都必须清理MGLOfflineStorage?
这是我每次移动地图时都会调用的代码段。
id <MGLOfflineRegion> region = [[MGLTilePyramidOfflineRegion alloc] initWithStyleURL:self.mapView.styleURL bounds:self.mapView.visibleCoordinateBounds fromZoomLevel:self.mapView.zoomLevel toZoomLevel:self.mapView.maximumZoomLevel];
NSData *context = [NSKeyedArchiver archivedDataWithRootObject:@{@"name":@"offline region"}];
[[MGLOfflineStorage sharedOfflineStorage] addPackForRegion:region withContext:context completionHandler:nil];
long bytes = [[MGLOfflineStorage sharedOfflineStorage] countOfBytesCompleted];