android - 如何在 Android 中使用 OSMDroid/OSMBonusPack 处理 map 上的长按?

标签 android openstreetmap osmdroid

我正在尝试在 Android 上创建一个带有 map 的简单应用程序。我正在使用 OSMDroid 的 MapView 来呈现基本的 OpenStreet Map map View 。

我有一个自定义 MapActivity 实现了 MapEventsReceiver 接口(interface)(来自 OSMBonusPack)。在我的 Activity 的 onCreate() 中,我创建了一个 MapEventsOverlay,我将它添加到 mapView

问题是,longPressHelper()singleTapUHelper() 从未被调用。请参阅下面的代码。

public abstract class CustomMap extends BaseActivity implements MapEventsReceiver{
//variable declarations follow
private MapView mMapView;

@Override
protected void onCreate(Bundle icicle) {
super.onCreate(load);
setContentView(R.layout.activity_map_main_screen);

mMapView = (MapView) findViewById(R.id.mapmainscreen);
mMapView.setBuiltInZoomControls(true);
mMapView.setClickable(true);

MapEventsOverlay evOverlay = new MapEventsOverlay(this, this);
mMapView.getOverlays.add(evOverlay);
mMapView.invalidate();

//tile source / tile provider are set by another method elsewhere

//somewhere in my code (same class file) I also have this:

@Override
public boolean longPressHelper(IGeoPoint arg0) {
Log.d(TAG, "longPressHelper was called");//this is never called
return true;
}

@Override
public boolean singleTapUpHelper(IGeoPoint arg0) {
Log.d(TAG, "singleTapUpHelper was called");//this is never called
return true;
}
}      
}

请注意,我已经在此处尝试了建议的解决方案 OSMDroid: Adding a marker when user taps on map

非常感谢任何帮助。

最佳答案

您提供的代码是正确的。 所以问题出在其他地方......

您能否指定使用的版本:Android SDK、osmdroid 和 OSMBonusPack?

也许布局中有什么东西?您可以通过与 OSMBonusPackTuto activity_main.xml 布局进行比较来检查。

关于android - 如何在 Android 中使用 OSMDroid/OSMBonusPack 处理 map 上的长按?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22804650/

相关文章:

java - isSelected 方法总是返回 false

javascript - 我是否需要创建 native 应用程序才能离线使用传单 map

postgresql - OpenStreetMap 和 Hadoop

android - OSMdroid : How to load offline map from zip archive - MapTileFileArchiveProvider

android - OSMDroid - 在 Android API 28 上缩小时默认标记移动

android - 限制用户可以在 Mapview 上访问的区域

android - 您应该为每个不同的调用创建新的异步任务还是使用相同的

android - 如果我使用 "if (android.os.Build.VERSION.SDK_INT>=11)"是否需要反射

java - 如何动态更改 ListView 内项目布局的内容?

android - OsmDroid setCenter 以错误的位置为中心