1

I'm developing a feature to drag a map overlay (using ExtendedOverlayItem class), using osmdroid and OSMBonusPack.

This question talks about a possible solution:

Unable to implement onTouchEvent (Drag & Drop) with Osmdroid

So, my questions are:

1 - Where do I put that code?

2 - Should I create a new class? extending from which other class?

Additional Similar questions:

How do you implement OverlayItem to be draggable? (Using ItemizedIconOverlays if possible)

confusion between overlay, overlayitem and itemizedoverley

Community
  • 1
  • 1
Paulo Luan
  • 331
  • 3
  • 10

2 Answers2

3

I solved my problem by updating the OSMBonusPack Library. And the following code was used to implement the draggable marker:

import org.osmdroid.bonuspack.overlays.Marker;
import org.osmdroid.bonuspack.overlays.Marker.OnMarkerDragListener;
import org.osmdroid.util.GeoPoint;

public static void applyDraggableListener(Marker poiMarker) {
        poiMarker.setDraggable(true);
        poiMarker.setOnMarkerDragListener(new OnMarkerDragListener() {
                @Override
                public void onMarkerDragStart(Marker marker) {}

                @Override
                public void onMarkerDragEnd(Marker marker) {
                        GeoPoint geopoint = marker.getPosition();        
                }

                @Override
                public void onMarkerDrag(Marker marker) {}
        });                
}
Paulo Luan
  • 331
  • 3
  • 10
  • hi can you say what's your OSMBonusPack Library version? because in my last version 6 I don't have Marker – max Oct 17 '16 at 06:51
1

As you are already using OSMBonusPack: just use the Marker overlay - which is draggable (BTW, ExtendedOverlayItem is now obsolete).

MKer
  • 3,430
  • 1
  • 13
  • 18