如何在OSMDroid上实现可拖动的ExtendedOverlayItem?

时间:2015-05-08 13:23:21

标签: java android drag osmdroid

我正在使用ExtendedOverlayItemosmdroid开发一个功能来拖动地图叠加层(使用OSMBonusPack类)。

这个问题讨论了一个可能的解决方案:

Unable to implement onTouchEvent (Drag & Drop) with Osmdroid

所以,我的问题是:

1 - 我在哪里放这个代码?

2 - 我应该创建一个新课程吗?从哪个类扩展?

其他类似问题:

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

confusion between overlay, overlayitem and itemizedoverley

2 个答案:

答案 0 :(得分:1)

由于您已经在使用OSMBonusPack:只需使用可拖动的标记覆盖(BTW,ExtendedOverlayItem现已过时)。

答案 1 :(得分:0)

我通过更新OSMBonusPack Library解决了我的问题。以下代码用于实现可拖动标记:

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