OSMDroid不显示地图

时间:2016-01-04 14:11:19

标签: android sqlite osmdroid

我已经通过atlas生成器生成了sqlite图块(根据this指南),但是当我在OSMDroid中使用此图块时,OSMDroid没有显示任何内容! 我不知道是什么问题,我已经检查了缩放级别,中心位置等所有内容。

以下是我的代码:

MapView map = (MapView) rootView.findViewById(R.id.map);

map.setTileSource(new XYTileSource(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "osmdroid" + File.separator + "tehran17.sqlite", 14, 17, 256, ".jpg", new String[] {}));
//....
map.setUseDataConnection(false);
IMapController mapController = map.getController();
mapController.setZoom(15);
GeoPoint startPoint = new GeoPoint(35.692855, 51.356535);
mapController.setCenter(startPoint);

我已经检查了所需的权限,比如读取和写入外部,我已经检查了生成的sqlite文件,看起来没问题。

2 个答案:

答案 0 :(得分:0)

根本原因:您提供的平铺源名称是文件路径,而不是平铺源的实际名称。如果查看数据库,则会为每个磁贴列出每个磁贴源(假设osmdroid磁贴sqlite格式)。我认为列名是“source”或“provider”。这就是XYZTileSource的“名称”。

答案 1 :(得分:0)

我终于解决了这个问题! 它与gradle有关,不要从gradle添加OSMDROID,因为它无法访问外部sd,下载项目源并将其作为模块添加到您的应用程序。