【androidjava】osmdroidを使って簡単な地図を表示する

以前から開発中のアプリでgooglemapを使うページを作っていたのですが、少し前から

googlemapApiで無料で使えていたプランが有料になってしまい、代替品を使うことを

余儀なくされました。そこで、androidの持ち物であるosmdroidなるものを使うことに。

osmdroidとは、作りとしてはgooglemapを模したようなandroidのみの廉価版googlemapApi

のようなもので、無料ながら様々な機能を使うことが出来ます。

今回はosmdroidを使うためのダウンロード迄を紹介。

 

Gradleファイル(Module:App)のdependencies内に以下のように記述

</pre>
<pre>implementation 'org.osmdroid:osmdroid-android:6.0.3'
implementation 'com.github.MKergall:osmbonuspack:6.6.0'</pre>
<pre>

 

もう一つのGradleファイル(Project)に以下のように記述

 

</pre>
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven {
url 'https://maven.google.com'
}
maven { url "https://jitpack.io" }
}
}
<pre>

 

syncしてエラーが出なかったら、xmlファイルに以下のように実装します。

</pre>
<org.osmdroid.views.MapView
android:id="@+id/mapViewFragment"
android:layout_width="match_parent"
android:layout_height="wrap_contents" />
<pre>

 

xmlにレイアウトを書いたので、アクティビティで各情報を入力していきます。

osmdroidを正確に表示させるには、最初の緯度経度を設定する必要があります。

 

</pre>
final MapView mapView = findById(this, R.id.mapViewFragment);
IMapController mapController = mapView.getController();
mapController.setZoom(16.0f);
mapView.setBuiltInZoomControls(true);
mapView.setMultiTouchControls(true);
GeoPoint centerPoint = new GeoPoint(34.716782, 137.780227);
mapController.setCenter(centerPoint);
<pre>

 

地図を出すだけならcentetpointだけ抑えていれば簡単に表示させることができます。

ここから自分に合った地図にカスタマイズしていくのですが、全部説明すると

かなり長くなるのでぶつ切りにして載せていこうと思います。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG