osmdroidを利用してOpenStreetMapの地図を表示させる方法【Android開発】
Androidの開発 環境が揃っている前提で書きます。
エディタはEclipseを使ってます。
osmdroidライブラリのimport
osmdroidを利用するにはosmdroidとSLF4Jというライブラリが必要です。
まず以下のURLからosmdroiライブラリを入手します。
http://code.google.com/p/osmdroid/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount
SLF4Jはこっち
http://www.slf4j.org/android/
両方ダウンロードしたら libs ディレクトリに突っ込みます。
コードを書きます
まず新規作成します。
MapActivity.java
import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
import org.osmdroid.views.MapController;
import org.osmdroid.views.MapView;
import android.os.Bundle;
import android.app.Activity;
import android.widget.RelativeLayout;
public class MapActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//レイアウト
final RelativeLayout relativeLayout = new RelativeLayout(this);
final RelativeLayout.LayoutParams mapViewLayoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
//mapView生成
MapView mapView;
mapView = new MapView(this, 256);
//マルチタッチ可能にするぞ
mapView.setMultiTouchControls(true);
//タイルソースをMAPNIKに決めるぞ
mapView.setTileSource(TileSourceFactory.MAPNIK);
//インターネットに接続してソースからタイルをダウンロードするぞよ
mapView.setUseDataConnection(true);
//マップコントローラを生成するぞ
MapController mapController;
mapController = mapView.getController();
//ズームレベルを4にするぞ
mapController.setZoom(4);
//addviewして画面にだすぞよ
relativeLayout.addView(mapView, mapViewLayoutParams);
setContentView(relativeLayout);
}
}
必要なPermissions
するとこんな感じになります
おしまい。