hcg_21 2013-09-16 09:52 采纳率: 0%
浏览 2847
已采纳

改变 OSMDroid 的 map tile provider 到默认的形式

在程序中,我根据用户在参数中的选择设置tiles 的源代码,用户只有2中选择-UMP和默认,例如 OpenStreetMaps。下面的代码是如何从默认的情形下改变 tiles的源代码。

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);
}

现在的问题是如何设置 provider 返回到OSMDroid 的默认格式?这个例子中的tileProvider.detach()运行了吗?

  • 写回答

1条回答 默认 最新

  • Curie-87 2013-09-17 03:06
    关注

    当你改变 ITileSource 时,不是想创建一个新的 TilesOverlay。
    你可以调用 mapView.setTileSource(tileSource);那样可以申请新的 tile source 到现有的TilesOverlay。
    如果你想返回到默认的 tile source,你可以调用 mapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题