だれかのにっき

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







 

するとこんな感じになります

参考ページ

おしまい。