2022-03-18
以前から開発中のアプリで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だけ抑えていれば簡単に表示させることができます。
ここから自分に合った地図にカスタマイズしていくのですが、全部説明すると
かなり長くなるのでぶつ切りにして載せていこうと思います。