J'essaie d'utiliser une base de données MBTiles hors ligne en utilisant la fonction Route-Me . Pour ce faire, j'utilise Landez qui dépend à son tour de MBUtil .
Pour l'instant, tout ce que j'obtiens, c'est un écran gris avec les broches à leur emplacement correct. Voici ce qui est imprimé sur la console :
initializing memory cache <RMMemoryCache: 0x4e42e50> with capacity 32
Opening database at /Users/chrislong/Library/Application Support/iPhone Simulator/4.3.2/Applications/E53BC885-1B02-4B06-B45B-408EB9A147DE/Documents/MapOpenStreetMap.sqlite
Map contents initialised. view: MapView at 0,0-320,411 tileSource <RMCachedTileSource: 0x4e428b0> renderer <RMCoreAnimationRenderer: 0x4e13dc0>
initializing memory cache <RMMemoryCache: 0x5929930> with capacity 32
Opening database at /Users/chrislong/Library/Application Support/iPhone Simulator/4.3.2/Applications/E53BC885-1B02-4B06-B45B-408EB9A147DE/Documents/MapMBTilestiles.mbtiles.sqlite
Warning: I could not find the column named 'tile_data'.
Warning: I could not find the column named 'tile_data'.
Warning: I could not find the column named 'tile_data'.
Warning: I could not find the column named 'tile_data'.
Map contents initialised. view: MapView at 0,0-320,411 tileSource <RMCachedTileSource: 0x592a400> renderer <RMCoreAnimationRenderer: 0x5925770>
Il est intéressant de noter que le fichier est nommé tiles.mbtiles
pas MapMBTilestiles.mbtiles.sqlite
et est stocké dans la racine de la liasse, et non pas dans l'enveloppe de la liasse. Documents
dossier.
Voici le code que j'utilise pour faire de la mapView
et charger la base de données :
CLLocationCoordinate2D center = {50, 50};
self.mapView = [[[RMMapView alloc] initWithFrame:self.view.frame] autorelease];
self.mapView.backgroundColor = [UIColor blackColor];
self.mapView.delegate = self;
NSURL *tilePath = [[NSBundle mainBundle] URLForResource:@"tiles" withExtension:@"mbtiles"];
RMMBTilesTileSource *tiles = [[[RMMBTilesTileSource alloc] initWithTileSetURL:tilePath] autorelease];
[self.mapView.contents removeAllCachedImages];
self.mapView.contents = [[[RMMapContents alloc] initWithView:self.mapView tilesource:tiles centerLatLon:center zoomLevel:0.0 maxZoomLevel:[tiles maxZoom] minZoomLevel:[tiles minZoom] backgroundImage:nil] autorelease];
[self addMarkers];
Route-Me ne lit manifestement pas le fichier ; même si je supprime entièrement la base de données, j'obtiens la même sortie de journal. Autrement dit, le problème est probablement dû au fait que Route-Me est incapable de trouver le fichier. Toute aide serait appréciée !