2015-02-10 53 views
0

在應用程序中我有一些mapViews,我想支持離線模式(緩存)。所以:用戶安裝的應用程序,主屏幕包含mapView,它應該緩存它。然後用戶關閉Wi-Fi和3G,並試圖看看另一個mapView(另一個viewController)。它現在沒有下載。但主屏幕的地圖沒問題。我以錯誤的方式緩存?Mapbox緩存在iOS應用程序

配置地圖的代碼是一樣的:

[[RMConfiguration sharedInstance] setAccessToken:@"pk.***"]; 
    RMMapboxSource *tileSource = [[RMMapboxSource alloc] initWithMapID:kMapboxMapID]; 
    [tileSource setCacheable:YES]; 
    [self.mapView.tileCache setBackgroundCacheDelegate:self]; 
    [self.mapView.tileCache beginBackgroundCacheForTileSource:tileSource southWest:CLLocationCoordinate2DMake(55.767363, 37.592843) northEast:CLLocationCoordinate2DMake(55.799801, 37.671229) minZoom:11 maxZoom:11]; 
    self.mapView = [[RMMapView alloc] initWithFrame:self.view.bounds andTilesource:tileSource]; 
    self.mapView.delegate=self; 
    [self.view addSubview:self.mapView]; 
+0

當用戶處於離線狀態並嘗試訪問地圖時,圖塊源始終爲「無」。 – mikezs 2015-02-17 20:39:57

回答

1

如果你不使用RMTileCache的下載方法的預取地圖上的區域,這將僅在地圖區域合作試圖在第二個視圖控制器中查看的內容與第一個查看過的內容相同。

+0

是的,但我剛剛添加了這些方法。我不明白我如何獲得tileSource,它總是'無'。我找不到緩存的任何示例.. – mikezs 2015-02-17 15:32:47