如何为我选择的特定区域创建矢量mbtiles文件

时间:2015-01-20 15:30:59

标签: openstreetmap nutiteq mbtiles

我无法为我的城市地区(Nashik,Maharashtra,India)创建矢量mbtiles文件,我使用nutiteq SDK来显示离线地图。我尝试使用Mobile Atlas创建者创建mbtiles,但输出.mbtile文件在Nutiteq SDK中不起作用。

请协助此事。我只想在我的应用程序中显示特定的区域.mbil。

先谢谢你。

1 个答案:

答案 0 :(得分:1)

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获取数据的所有来源都是光栅,因此原则上是不可能的。因此,据我所知,没有简单的免费资源来下载文件。我可以提出两个选择:

  1. 使用当前处于私人测试阶段的Nutiteq地图服务(基于订阅)。这在技术上以这种方式工作,您在应用程序中定义哪些地图包或包可以加载到设备,SDK直接下载您选择的地图。
  2. 使用Nutiteq Maps SDK Enteprise许可证,您可以使用自定义地图包和来源以及自定义下载控制。
  3. 您应该联系Nutiteq以获取测试版或企业许可证。免责声明:我是Nutiteq的创始人。