昨日の記事の続きです。
前回は、「osmdroid
」を使って Android アプリに OpenStreetMap
を表示するまでを実装しましたので、今回はその地図上にマーカーを追加する方法です。
何故か公式のサンプルコードをそのままコピー&ペーストしてもエラーになってしまっていましたが、原因が分かったのでまとめ。
原因は build.gradle
に追加した下記の記述でした。
dependencies { implementation 'org.osmdroid:osmdroid-android:6.1.0' }
再確認したところ、バージョンが古かったので最新バージョンの 6.1.0
に直し、Sync Now
を実行したところ、エラーが解消されました!
…はい、わかってしまえばとっても間抜けでした…。
ちなみに、マーカーを表示するときは下記のように記述します。
Marker marker = new Marker(mapView); marker.setPosition(new GeoPoint([緯度], [経度])); marker.setIcon(getResources().getDrawable([表示したい画像])); mapView.getOverlays().add(marker);
なお、3行目のアイコン画像を指定しなくても問題ありません。
その場合は、デフォルトのアイコンが表示されます。
ちなみに、マーカーの数が多い時は、特定の範囲内に表示されるマーカーを一つにまとめてしまう方法もあります。
私は「osmbonuspack
」というサードパーティーライブラリを使いました。
良ければこちらもご参考にしてください。
GitHub – MKergall/osmbonuspack: A third-party library of (very) useful additional objects for osmdroid
https://github.com/MKergall/osmbonuspack/wiki/Tutorial_3
以上、「osmdroid
」を使って地図にマーカーを追加する方法でした。
ご参考になれば幸いです。