osmdroid を使って OpenStreetMap を Android に表示する
の続きです
MainActivity.java
タイトル, 説明, 緯度, 経度からマーカーのリストを生成する
List<OverlayItem> items = new ArrayList<>();
items.add(new OverlayItem(タイトル, 説明, new GeoPoint(緯度, 経度)));
マーカーをクリックした時の処理
mMyLocationOverlay = new ItemizedIconOverlay<>(items,
new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
@Override
public boolean onItemSingleTapUp(final int index, final OverlayItem item) {
// Toast を表示する
Toast.makeText(this, item.getTitle(), Toast.LENGTH_LONG).show();
return true; // We 'handled' this event.
}
@Override
public boolean onItemLongPress(final int index, final OverlayItem item) {
// Toast を表示する
Toast.makeText(this, item.getTitle(), Toast.LENGTH_LONG).show();
return false;
}
}, getApplicationContext());
this.mMapView.getOverlays().add(this.mMyLocationOverlay);
}
地図にマーカーを重ねる
final MinimapOverlay miniMapOverlay = new MinimapOverlay(this,
mMapView.getTileRequestCompleteHandler());
mMapView.getOverlays().add(miniMapOverlay);
github にソースを公開した
ひと工夫しています。
csv ファイルからマーカーのリストを生成するようにした。
csv ファイルの例
横浜, 35.4472391, 139.6414945