Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? 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.jarjavaproj-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