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


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

タイル

地図は1つの画像ではなく、タイルと称される複数の小さな画像の集合体です。

OSMのタイルの説明

osmdroid で定義されている タイルの一覧

日本を中心にすると、表示できないものもある。

タイル名 タイルサーバー
MAPNIK https://a.tile.openstreetmap.org/
PUBLIC_TRANSPORT http://openptmap.org/tiles/
FIETS_OVERLAY_NL http://overlay.openstreetmap.nl/openfietskaart-overlay/
BASE_OVERLAY_NL http://overlay.openstreetmap.nl/basemap/
ROADS_OVERLAY_NL http://overlay.openstreetmap.nl/roads/
HIKEBIKEMAP http://a.tiles.wmflabs.org/hikebike/
OPEN_SEAMAP http://tiles.openseamap.org/seamark/
USGS_TOPO https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/tile/
USGS_SAT https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryTopo/MapServer/tile/

MainActivity.java

タイルは PUBLIC_TRANSPORT を指定する

        // Add tiles layer
        mProvider = new MapTileProviderBasic(getApplicationContext());

 // Tiles
mProvider.setTileSource(TileSourceFactory.PUBLIC_TRANSPORT);

        this.mTilesOverlay = new TilesOverlay(mProvider, this.getBaseContext());
        this.mMapView.getOverlays().add(this.mTilesOverlay);

スクリーンショット

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

github にソースを公開した