Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
我是android的新手,我已经将map转换为mbtiles格式。现在我需要使用nutiteq创建一个示例应用程序以在移动设备上显示mbtiles。请通过编写用于显示map的代码逐步说明我。不要给我一些现有项目的链接,因为我不了解它们,而且肯定会有很多人期待一个示例Android应用程序逐步解释,该示例使用nutiteq显示mbtiles。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
我是android的新手,我已经将map转换为mbtiles格式。现在我需要使用nutiteq创建一个示例应用程序以在移动设备上显示mbtiles。请通过编写用于显示map的代码逐步说明我。不要给我一些现有项目的链接,因为我不了解它们,而且肯定会有很多人期待一个示例Android应用程序逐步解释,该示例使用nutiteq显示mbtiles。
最佳答案
我假设您知道Android通用应用程序的开发。如果没有,则有很多书籍和说明。关于Nutiteq和MBTiles:
Nutiteq wiki包含如何入门的说明
要获得Nutiteq SDK的最低要求,您需要在项目libs文件夹中nutiteq-sdk.jar和javaproj-1.0.6-noawt.jar
将MBTiles文件复制到设备的/ sdcard文件夹(或其他位置)
要将在线地图替换为MBTiles,您需要更改地图图层定义,将TMSMapLayer mapLayer = new TMSMapLayer(new EPSG3857(), 0, 18, 0, "http://otile1.mqcdn.com/tiles/1.0.0/osm/", "/", ".png");
替换为:
try {
MBTilesMapLayer dbLayer = new MBTilesMapLayer(proj, 0, 19, 2, "/sdcard/mymaps.mbtiles", this);
mapView.getLayers().addLayer(dbLayer);
} catch (IOException e) {
// means usually that given .mbtiles file is not found or cannot be opened as sqlite database
Log.error(e.getLocalizedMessage());
e.printStackTrace();
}
07-25 23:01