【osmdroid】マップタイルを設定する

はじめに

 マップタイルには、Google Maps のような有料の物だけでなく、OpenStreetMap や国が公開しているデータなど様々なオープンデータも存在します。今回は osmdroid で、それらのマップタイルに設定する方法について説明します。
 なおオープンデータのマップタイルについては、こちらにまとめています。

マップタイルを設定する方法

 例えば、国土地理院の標準地図に設定する場合、以下のように記載します。

// マップタイルの設定(国土地理院)
final ITileSource tileSource = new XYTileSource("国土地理院",  0, 18, 256, ".png", 
        new String[] { "https://cyberjapandata.gsi.go.jp/xyz/std/" });
mapView.setTileSource(tileSource);

 MainActivity.java の例は以下のようになります。「【osmdroid】Android でマップを表示する」も参考にしてみてください。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Configuration.getInstance().load(getApplicationContext(),
                PreferenceManager.getDefaultSharedPreferences(getApplicationContext()));
        setContentView(R.layout.activity_main);

        MapView mapView = (MapView) findViewById(R.id.mapView);
        IMapController mapController =  mapView.getController();

        // マップタイルの設定(国土地理院)
        final ITileSource tileSource = new XYTileSource("国土地理院",  0, 18, 256, ".png",
                new String[] { "https://cyberjapandata.gsi.go.jp/xyz/std/" });
        mapView.setTileSource(tileSource);

        mapController.setZoom( 6.0 );
        GeoPoint centerPoint = new GeoPoint( 38.00, 138.00 );
        mapController.setCenter(centerPoint);

        mapView.setMultiTouchControls(true);
    }
}

 以下、実行画面の例です。

図1. 国土地理院のマップタイルを使用した例

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です