osmdroid を使って Android の OpenStreetMap 地図に マーカーを表示する


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