MBTiles — это общий формат, который может содержать не только растровые, но и векторные данные (тайлы). И TileMill, и Mobile Atlas Creator могут создавать только растры, первый — из векторных данных, а второй — путем извлечения из онлайн-API. Вы можете использовать растровые MBTiles с Nutiteq SDK, пример для iOS:
// 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];
Андроид:
MBTilesTileDataSource tileDataSource = new MBTilesTileDataSource(
0, 19, filePath);
RasterTileLayer rasterLayer = new RasterTileLayer(tileDataSource);
mapView.getLayers().add(rasterLayer);
TileMill и Mobile Atlas Creator (MOBAC) не поддерживают создание векторных mbtiles. Все источники, откуда MOBAC берет данные, растровые, так что это в принципе невозможно. Поэтому, насколько я знаю, нет простого и бесплатного источника для загрузки файлов. Могу предложить два варианта:
- Используйте сервис Nutiteq Maps (на основе подписки), который в настоящее время находится в закрытой бета-версии. Технически это работает таким образом, что вы определяете в своем приложении, какой пакет или пакеты карты могут быть загружены на устройство, и SDK загружает выбранную вами карту напрямую.
- С лицензией Nutiteq Maps SDK Enterprise вы можете использовать настраиваемые пакеты и источники карт, а также настраиваемый контроль загрузки.
Вам следует связаться с Nutiteq, чтобы получить доступ к бета-версии или корпоративной лицензии. Отказ от ответственности: я основатель Nutiteq.
person
JaakL
schedule
20.01.2015