【发布时间】:2014-04-02 07:41:52
【问题描述】:
我正在尝试在 Android 上创建一个带有地图的简单应用程序。我正在使用 OSMDroid 的 MapView 来渲染基本的 OpenStreet Map mapview。
我有一个自定义的MapActivity,它实现了MapEventsReceiver 接口(来自OSMBonusPack)。在我的活动onCreate() 中,我创建了一个MapEventsOverlay,并将其添加到mapView。
问题是,longPressHelper() 和 singleTapUpHelper() 永远不会被调用。请参阅下面的代码。
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 openstreetmap osmdroid