osmdroid を使って OpenStreetMap を Android に表示する
の続きです
タイル
地図は1つの画像ではなく、タイルと称される複数の小さな画像の集合体です。
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 にソースを公開した