MBTiles is general format which can contain also vector data (tiles), not only raster . Both TileMill and Mobile Atlas Creator can create only rasters, first one from vector data, and second one by scraping it from on-line APIs. You can use raster MBTiles with Nutiteq SDK, iOS sample:
// file-based local offline datasource
NSString* fullpathVT = [[NSBundle mainBundle] pathForResource:@"MBTILESFILENAME" ofType:@"mbtiles"];
NTTileDataSource* tileDataSource = [[NTMBTilesTileDataSource alloc] initWithMinZoom:0 maxZoom:19 path: fullpathVT];
// Initialize a raster layer with the previous data source
NTRasterTileLayer* rasterLayer = [[NTRasterTileLayer alloc] initWithDataSource:tileDataSource];
// Add the raster layer to the map
[[self getLayers] add:rasterLayer];
Android:
MBTilesTileDataSource tileDataSource = new MBTilesTileDataSource(
0, 19, filePath);
RasterTileLayer rasterLayer = new RasterTileLayer(tileDataSource);
mapView.getLayers().add(rasterLayer);
TileMill and Mobile Atlas Creator (MOBAC) does not support creating vector mbtiles. All the sources from where MOBAC gets data are raster ones, so it is not possible in principle. So there is no easy and free source to download the files as far as I know. I can suggest two options:
- Use Nutiteq Maps service (subscription-based) which is currently in private beta. This works technically this way, that you define in your app which map package or packages can be loaded to the device, and SDK downloads directly your selected map.
- With Nutiteq Maps SDK Enteprise license you can use custom map packages and sources, and custom download control.
You should contact Nutiteq to get access to beta, or enterprise license. Disclaimer: I'm founder of Nutiteq.