osmdroid を使ってAndroid の OpenStreetMap 地図の場所をブックマークする


osmdroid を使って OpenStreetMap を Android に表示する
の続きです

場所を選ぶ方法は2つある。

方法1 地図の長押し

MapEventsOverlay events = new MapEventsOverlay(new MapEventsReceiver() {
    @Override
    public boolean longPressHelper(GeoPoint p) {
        // タイトルと説明を入力するダイアログを表示する
                showDialog(p);
                return true;
    }
});
mMapView.getOverlayManager().add(events);

方法2 Location Manager

GPS や WiFi から現在地を知らせてくれる便利なもの

public void onResume() {
            mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0l, 0f, this);

public void onPause() {
            mLocationManager.removeUpdates(this);

public void onLocationChanged(Location location) {
        // 場所を記憶する
        mCurrentLocation = location;

ブックマークする

ブックマークは、SQLie を使用する。
タイトルと説明を入力するダイアログを表示する

  // SQLiete に追加する
    BookmarkRecord r = new BookmarkRecord( title, description, latD, lonD  );
    long id = mHelper.insert(r);

 CSV ファイルのインポートとエクスポート

OpenCSV と FilePicker を使用する

スクリーンショット

地図とマーカー

タイトルと説明を入力するダイアログ

github にサンプルコードを公開した