如何知道我在 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;
}
我想知道如何控制我在 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;
}