程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-改變 OSMDroid 的 map tile provider 到默認的形式

java-改變 OSMDroid 的 map tile provider 到默認的形式

編輯:編程綜合問答
改變 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()運行了嗎?

最佳回答:


當你改變 ITileSource 時,不是想創建一個新的 TilesOverlay。
你可以調用 mapView.setTileSource(tileSource);那樣可以申請新的 tile source 到現有的TilesOverlay。
如果你想返回到默認的 tile source,你可以調用 mapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved