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)
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) {}
});
}