如何在4.1版本创建离线瓷砖osmdroid XYTileSource? [英] How to create osmdroid XYTileSource for offline tiles in version 4.1?

查看:343
本文介绍了如何在4.1版本创建离线瓷砖osmdroid XYTileSource?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用4.0版本的脱机工作osmdroid地图。升级到4.1,就不再起作用。我已经将问题范围缩小到了XYTileSource,其中aBaseUrl被以4.0的字符串和阵列在4.1改变。我如何才能离线瓷砖在4.1工作?

老4.0 code奏效。瓷砖是/sdcard/osmdroid/tiles.zip

  XYTileSource TS =新XYTileSource(砖
                                      ResourceProxy.string.offline_mode,
                                      13,
                                      17,
                                      256,
                                      巴纽
                                      http://127.0.0.1);图形页面=(图形页面)findViewById(R.id.mapview);
mapView.setTileSource(TS);
mapView.setMultiTouchControls(真);
mapView.setBuiltInZoomControls(假);
mapView.setUseDataConnection(假);
mapView.getController()setZoom(15)。
的GeoPoint点=新的GeoPoint(40.715,-73.945);
mapView.getController()setCenter(点)。

我试了一下改变这一点,但它不工作。

 的String [] =网址{http://127.0.0.1};
XYTileSource TS =新XYTileSource(砖
                                      ResourceProxy.string.offline_mode,
                                      13,
                                      17,
                                      256,
                                      巴纽
                                      网址);


解决方案

我想在这里提供一个完整的答案:
<一href=\"http://stackoverflow.com/questions/22862534/download-maps-for-osmdroid/22868462#22868462\">Download地图osmdroid

如果你有一个老tiles.zip,打开它,并检查:


  • 的根目录名称=>把它作为XYTileSource构造aName(是不是真的砖?)

  • 瓷砖图像扩展=>把它作为aImageFileNameEnding(是不是真的巴纽?)

的aResourceId和aBaseUrl PARAMS不用于zip文件。

I have offline osmdroid maps working using version 4.0. Upgrading to 4.1, they no longer work. I have narrowed the problem down to the XYTileSource, in which aBaseUrl changed from being a string in 4.0 to and array in 4.1. How do I get offline tiles to work in 4.1?

Old 4.0 code that worked. The tiles are in /sdcard/osmdroid/tiles.zip

XYTileSource ts = new XYTileSource ( "tiles", 
                                      ResourceProxy.string.offline_mode, 
                                      13, 
                                      17, 
                                      256,
                                      ".png",
                                      "http://127.0.0.1");

mapView = (MapView) findViewById(R.id.mapview);
mapView.setTileSource(ts); 
mapView.setMultiTouchControls(true);
mapView.setBuiltInZoomControls(false);
mapView.setUseDataConnection(false); 
mapView.getController().setZoom(15);
GeoPoint point = new GeoPoint(40.715,-73.945);
mapView.getController().setCenter(point);

I tried changing it to this, but it doesn't work.

String[] urls = {"http://127.0.0.1"};
XYTileSource ts = new XYTileSource ( "tiles", 
                                      ResourceProxy.string.offline_mode, 
                                      13, 
                                      17, 
                                      256,
                                      ".png",
                                      urls);

解决方案

I tried to provide a full answer here: Download maps for osmdroid

If you have an "old" tiles.zip, open it, and check:

  • the root directory name => put it as the "aName" of XYTileSource constructor (is it really "tiles"?)
  • the tiles images extension => put it as the aImageFileNameEnding (is it really ".png"?)

The aResourceId and aBaseUrl params are not used for zip files.

这篇关于如何在4.1版本创建离线瓷砖osmdroid XYTileSource?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆