【问题标题】:Changing OSMDroid's map tile provider back to default将 OSMDroid 的地图图块提供程序改回默认值
【发布时间】:2013-09-15 19:58:38
【问题描述】:

在我的应用程序中,我根据用户在首选项中的选择设置(在线)图块来源(只有 2 个可能的选项 - UMP 和默认值,即 OpenStreetMaps)。以下是我如何将图块的来源 更改为默认值:

SharedPreferences prefs = PreferenceManager
        .getDefaultSharedPreferences(getBaseContext());
if (prefs.getString("map_source_preference", "osm") == "ump") {
    final MapTileProviderBasic tileProvider = new MapTileProviderBasic(
            getApplicationContext());
    final ITileSource tileSource = new XYTileSource("UMP Tiles", null,
            3, 14, 256, ".png", "http://tiles.ump.waw.pl/ump_tiles/");
    tileProvider.setTileSource(tileSource);
    final TilesOverlay tilesOverlay = new TilesOverlay(tileProvider,
            this.getBaseContext());
    mapView.getOverlays().add(tilesOverlay);
}

我的问题是:如何将磁贴提供程序设置回 OSMDroid 的默认值tileProvider.detach() 在这种情况下会起作用吗?

【问题讨论】:

    标签: java android android-mapview osmdroid


    【解决方案1】:

    您不想在更改 ITileSource 时创建新的 TilesOverlay。你可以打电话

    mapView.setTileSource(tileSource);
    

    这会将您的新平铺源应用到现有的 TilesOverlay。

    如果你想回到默认的瓦片源,你可以调用

    mapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
    

    【讨论】:

    • 谢谢。这就是我一直在寻找的,但我使用了mapView.setTileSource(TileSourceFactory.MAPQUESTOSM);,它成功了!
    • @RicardoAppleton 他们是具有不同磁贴的不同磁贴服务器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 2013-10-07
    • 1970-01-01
    相关资源
    最近更新 更多