OpenStreetMapをAndroidアプリに組み込む
OpenStreetMapをWebサイトに組み込む話は日本語でも検索してヒットしますが、Androidアプリに組み込む話はなかなかWeb上になかったので、書いておきます。
まず、どうやってAndroidアプリに組み込むか。
osmdroidというライブラリを利用します。
派生ライブラリもいくつかありますが、まずはこれが基本でとっつきやすいでしょう。
osmdroid 公式サイト
http://code.google.com/p/osmdroid/
早速、Androidアプリプロジェクトにどうやって組み込むか、書いていきます。
公式サイトを見ると、Mavenを利用するとイイヨ!と書いてあります。
Mavenはメイブンと呼びます。メイブン。それは、君が見た光。僕が見た希望。。。
個人的な感想かもしれませんが、Mavenを利用すると、エラーばかりでかえって苦労します。多分、現行のバージョンとあっていないのではないでしょうか。
なので、手っ取り早いプロジェクトへの組込み方法は、次の通りです。
- slf4j-android logging libraryが必要なので、
http://www.slf4j.org/android/
に行き、slf4j-android logging libraryをダウンロードして、libsの下に置きます。
- AndroidManifest.xmlで、APIレベル7以上にします。
<uses-sdk android:targetSdkVersion="16" android:minSdkVersion="7" />
- AndroidManifest.xmlで、次のパーミッションを許可します。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- osmdroid本体を下記のサイトの下の方からダウンロードします。
osmdroid-android-4.1.jar と書いてあるリンクをクリックするだけです。
http://code.google.com/p/osmdroid/wiki/Downloads
- libsの下に osmdroid-android-4.1.jarとslf4j-android-1.6.1-RC1.jarがおかれたら、準備OKです。次は、osmdroidを利用して、OpenStreetMapをAndroidアプリで表示する サンプルコードに続きます。