如何处理在地图上长preSS,在Android中使用OSMDroid / OSMBonusPack? [英] How to handle long press on a map, using OSMDroid / OSMBonusPack in Android?

查看:514
本文介绍了如何处理在地图上长preSS,在Android中使用OSMDroid / OSMBonusPack?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图创建地图的简单应用,在Android上。我使用OSMDroid的图形页面渲染基本OpenStreet地图图形页面。

I am trying to create a simple application with maps, on Android. I am using OSMDroid's MapView to render the basic OpenStreet Map mapview.

我有一个自定义的 MapActivity 实现 MapEventsReceiver 接口(从OSMBonusPack)。在我的活动的的onCreate(),我创建了一个 MapEventsOverlay ,我把它添加到的MapView

I have a custom MapActivity that implements the MapEventsReceiver interface (from OSMBonusPack). In my activity's onCreate(), I create a MapEventsOverlay, I add it to the mapView.

问题是,长pressHelper() singleTapUpH​​elper()永远不会被调用。请看下文中我code。

The problem is, longPressHelper() and singleTapUpHelper() are never called. See my code below.

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;
}
}      
}

请注意,我已经尝试在这里<一个建议的解决方案href=\"http://stackoverflow.com/questions/20946715/osmdroid-adding-a-marker-when-user-taps-on-map\">OSMDroid:添加标记时,用户点击地图

Please note that I have tried the suggested solution here OSMDroid: Adding a marker when user taps on map

任何帮助很多AP preciated。

Any help is much appreciated.

推荐答案

您提供的code是正确的。
所以,问题是别的地方...

The code you provided is correct. So the issue is somewhere else...

你能使用指定的版本:Android的SDK,osmdroid和OSMBonusPack?

Could you specify versions used: Android SDK, osmdroid, and OSMBonusPack?

也许一些布局?您可以通过使用OSMBonusPackTuto activity_main.xml中的布局比较检查。

Maybe something in the layout? You can check by comparing with OSMBonusPackTuto activity_main.xml layout.

这篇关于如何处理在地图上长preSS,在Android中使用OSMDroid / OSMBonusPack?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆