osmdroid を使ってAndroid の OpenStreetMap 地図にカスタムタイルを重ねる


osmdroid を使って OpenStreetMap を Android に表示する
の続きです

OpenStreetMap は、共通の地図情報から任意のタイルを生成することができる。
その種のタイルをカスタムタイルと呼ぶ。

カスタムタイルの一覧

MainActivity.java

カスタムタイルは OSM日本 を使用する。

        mMapView.setTilesScaledToDpi(true);
        mMapView.getZoomController().setVisibility(CustomZoomButtonsController.Visibility.SHOW_AND_FADEOUT);


        // Add tiles layer with Custom Tile Source
        final MapTileProviderBasic tileProvider = new MapTileProviderBasic(getApplicationContext());

       // OSM日本
        final ITileSource tileSource = new XYTileSource("OSM Japan",  3, 18, 256, ".png",
                new String[] { "http://tile.openstreetmap.jp/" });

        tileProvider.setTileSource(tileSource);

        final TilesOverlay tilesOverlay = new TilesOverlay(tileProvider, this.getBaseContext());
        tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
        mMapView.getOverlays().add(tilesOverlay);

スクリーンショット

右は、タイルを重ねる前の背景地図
左は、タイルを重ねた後の地図
 

github にソースを公開した