osmdroid离线地图不加载瓷砖
Posted
技术标签:
【中文标题】osmdroid离线地图不加载瓷砖【英文标题】:osmdroid offline map not loading the tiles 【发布时间】:2016-10-11 05:41:09 【问题描述】:我需要在 App 中查看离线磁贴
我已使用 “Mobile Atlas Creator 2.0.0 beta 1” 配置下载了磁贴,如下所示
磁贴 zip 文件位于
/mnt/sdcard/osmdriod/tiles.zip
MyActivity 代码如下
MapView mapView = new MapView(this); //constructor
mapView.setTileSource(new XYTileSource("MapQuest", 0, 10, 256, ".png", new String[] ));
mapView.setClickable(true);
mapView.setBuiltInZoomControls(true);
mapView.getController().setZoom(1); //set initial zoom-level, depends on your need
mapView.getController().setCenter(new GeoPoint(52.516667, 13.383333)); //This point is in Enschede, Netherlands. You should select a point in your map or get it from user's location.
mapView.setUseDataConnection(false); //keeps the mapView from loading online tiles using network connection.
setContentView(mapView);
AndriodManifest.xml 拥有这些权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
但是地图上没有显示瓷砖
注意:
osmdroid 版本 编译'org.osmdroid:osmdroid-android:5.1@aar'
【问题讨论】:
【参考方案1】:尝试打开您的 osm zip 文件并检查磁贴文件夹名称。此文件中的瓦片文件夹名称必须与 XYTileSource 构造函数的第一个参数相同。 如果文件夹的名称为“OpenStreetMap MapQuest”,例如你可能需要这样写:
mapView.setTileSource(new XYTileSource("OpenStreetMap MapQuest", 0, 10, 256, ".png", new String[] ));
【讨论】:
以上是关于osmdroid离线地图不加载瓷砖的主要内容,如果未能解决你的问题,请参考以下文章