【问题标题】:Tiles are only for some zoom levels available平铺仅适用于某些可用的缩放级别
【发布时间】:2013-01-11 12:03:27
【问题描述】:

我遇到的问题是我的地图图块仅显示缩放级别 14 到 17 我正在使用离线 Mapnik 地图。图块位于正确的文件夹 (/osmdroid/Mapnik.zip) 中,格式正确 (.png)。

我从缩放 16 开始。放大到 17 时没有问题,但是当放大到 18 时,只有 17 的图块被缩放。如果我缩小一段时间,则未显示缩放级别 1-14 的图块。只有一个灰色的盒子。

这些缩放级别的 png 在 .zip 存档中:/ 所以我不知道该怎么做。有人有想法吗?

我的代码是这样的:

public class Main extends Activity {

public static final GeoPoint INITIAL_POSITION = new GeoPoint(48.965558, 9.27893);
MapView mapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mapView = (MapView) findViewById(R.id.map);
    mapView.setBuiltInZoomControls(true);
    mapView.getController().setZoom(16);
    mapView.getController().setCenter(INITIAL_POSITION);
    mapView.setTileSource(TileSourceFactory.MAPNIK);
    mapView.setUseDataConnection(false);

【问题讨论】:

    标签: android osmdroid


    【解决方案1】:

    Osmdroid 不支持超过您实际下载的缩放级别。你看到的和那个完全一致。

    如果您想查看其他缩放级别的地图,您只需下载它们(准备离线版本)或打开数据连接的使用 (setUseDataConnection(true);),当然不在离线版本中的图块不会如果您没有数据连接,则会出现。

    您也可以修改 osmdroid 的 TilesOverlay 类,但这不会容易并且需要时间。

    【讨论】:

    • 我不能在没有数据连接的情况下使用离线磁贴??应用程序必须工作的平板电脑不支持互联网连接。你说我不能缩小但当我从缩放级别 1 开始时,也有一个灰色块,我在 zip 存档中有对应的地图块:(
    • 是的,你可以!但是您必须拥有希望用户能够查看的所有缩放级别的图块。例如,如果您的存档包含缩放级别为 6 到 17 的图块,则用户将无法查看缩放级别 低于 6高于 17 的地图。
    • 好的,但我的 zip 存档中有从 1 到 18 的所有 Tiles,我只能看到 14 到 17
    • 哦,我假设您只有 14-17 个缩放级别。对此感到抱歉。在这种情况下,如果您有 osmdroid 的来源并且不只是使用该库,则可以将 OpenStreetMapTileProviderConstants.DEBUGMODE 设置为 true 并发布 LogCat 输出。然后它将报告每个图块的加载操作。
    • 我只使用 lib :( 你可以上传一个设置了调试模式的 jar,还是有其他调试方法:/?
    【解决方案2】:

    好的,通过拆分为 4 个 zip 文件解决了问题:D

    问题是一个 zip 存档中的 150000 个文件太大而无法处理...

    更多信息请参见Too much Files

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多