[英]How to know that marker I press in osmdroid maps?
I would like to know how I can control which marker I clicked on osmdroid. 我想知道如何控制单击osmdroid的标记。
List<Marker> markerList_OSM = new ArrayList<>();
... ... ……
Marker coorLoad = new Marker(map);
map.getOverlays().add(coorLoad);
markerList_OSM.add(coorLoad);
Now, how can I control the press marker? 现在,如何控制印刷机标记? both long and short press.
长按和短按。
In the google maps I use: 在谷歌地图,我使用:
map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@SuppressLint("InflateParams")
public boolean onMarkerClick(final Marker markerSelect) {
......
......
......
return false;
}
});
thank you. 谢谢。
Use setOnMarkerClickListener on a Marker instance. 在Marker实例上使用setOnMarkerClickListener 。
coorLoad.setOnMarkerClickListener(new Marker.OnMarkerClickListener() {
boolean onMarkerClick(Marker marker, MapView mapView) {
....
}
});
To control a long press, you have to subclass the Marker class, and implement onLongPress method: 要控制长按,您必须将Marker类子类化,并实现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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.