我有一个osmMap视图,在那里我可以设置一些标记以固定位置。这些标记有一个 OnItemGestureListener
与 onItemSingleTapUp
打开包含一些信息的对话框。这个 MapView
有一个 OnTouchListener
使其全屏显示并隐藏一些gui。
一切正常,问题是 OverlayItem
单击
MapView TouchListener
也会触发,这是不应该发生的。总有一种方法会让你失去对这个世界的接触 MapView
何时单击标记?尝试了很多方法,但都没有成功。始终首先调用mapview touch侦听器。
添加标记方法和手势侦听器:
public void addMarker(double latitude, double longitude, Drawable icon, final int posicao, boolean isLocalizacaoUsuario) {
GeoPoint center = new GeoPoint(latitude, longitude);
OverlayItem overlayItem = new OverlayItem("", "", center);
if (posicao >= 0)
icon = criaMarcadorMapa(posicao, icon);
overlayItem.setMarker(icon);
ArrayList<OverlayItem> overlayItemArrayList = new ArrayList<>();
overlayItemArrayList.add(overlayItem);
final ItemizedOverlay<OverlayItem> locationOverlay = new ItemizedIconOverlay<>(overlayItemArrayList,
new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
mapview touchlistener:
osm.isClickable();
osm.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
tempoTouchDown = System.currentTimeMillis();
break;
case MotionEvent.ACTION_UP:
tempoTouchTotal = System.currentTimeMillis() - tempoTouchDown;
controladorInterface(tempoTouchTotal);
break;
}
return false;
}
});
暂无答案!
目前还没有任何答案,快来回答吧!