android – Osmdroid离线文件

我有一个osmdroid地图,我想从MOBAC的osmdroid zip或gemf文件中加载离线图块.我调查了它,无处不在我说它只是把它放在sdcard / osmdroid中.但它不起作用,我需要在代码中改变一些东西吗?

 public class Map extends Activity {
  private IMapView mMapView;
  private static IMapController mMapController;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);

    mMapView = (MapView) findViewById(R.id.mapview);
    ((MapView) mMapView).setBuiltInZoomControls(true);

    mMapController = mMapView.getController();
    mMapController.setZoom(13);
    GeoPoint geoPecs = new GeoPoint(46.070833,18.233056);
    mMapController.setCenter(geoPecs);

mProvider = new MapTileProviderBasic(getApplicationContext());
    mCustomTileSource = new XYTileSource("Turaterkep", null, 13, 15, 256, ".png", "http://users.atw.hu/perzsa/map/Turaterkep/");
    mProvider.setTileSource(mCustomTileSource);
    mTilesOverlay = new TilesOverlay(mProvider,this.getBaseContext());

    mMapView.getOverlays().add(mTilesOverlay);

更新:
我设法从在线加载瓷砖,包含的示例到osmdroid,我也更新了代码,我想我必须从这个示例开始,也许我可以从localhost加载?生病检查

图片:
http://i.stack.imgur.com/CoZT1.png

解决方法:

我遇到了同样的问题,我使用Mapnik的在线图块解决了这个问题.这样,我的应用程序在我的移动设备中创建了路径(phone / osmdroid / tiles / Mapnik).

    mMapView.setTileSource(TileSourceFactory.Mapnik);

您还可以通过将其添加到xml文件和mapview中来添加tilesouce:

    tilesource="Mapnik"

别忘了通过添加以下内容来指定您不希望应用程序下载数据:

      mMapView.setUseDataConnection(false);

完成后,您可以让应用程序使用离线磁贴,只需按照以下指南操作:http://www.haakseth.com/?p=30

上一篇:javascript – 如何在2018年检测浏览器是否处于脱机状态?


下一篇:android – 如何在线保存/加载数据(使用AJAX和JSON存储数据)和离线(本地)