如何知道我在 osmdroid 地图中按下的那个标记?

How to know that marker I press in osmdroid maps?

我想知道如何控制我在 osmdroid 上点击了哪个标记。

List<Marker> markerList_OSM = new ArrayList<>();

... ...

                Marker coorLoad = new Marker(map);
                map.getOverlays().add(coorLoad);
                markerList_OSM.add(coorLoad);

现在,我该如何控制压力标记?长按和短按。

在我使用的 google 地图中:

map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @SuppressLint("InflateParams")
        public boolean onMarkerClick(final Marker markerSelect) {
......
......
......
return false;
        }
    });

谢谢。

在标记实例上使用 setOnMarkerClickListener

coorLoad.setOnMarkerClickListener(new Marker.OnMarkerClickListener() {
    boolean onMarkerClick(Marker marker, MapView mapView) {
        ....
    }
});

要控制长按,您必须子class 标记 class,并实现 onLongPress 方法:

@Override public boolean onLongPress(final MotionEvent event, final MapView mapView) {
        boolean touched = hitTest(event, mapView);
        if (touched){
           //here, do whatever you want
           //....
        }
        return touched;
    }