【问题标题】:How to enable Drag a Marker (Android Map Api v2) after a single Touch?单次触摸后如何启用拖动标记(Android Map Api v2)?
【发布时间】:2016-12-20 10:15:50
【问题描述】:

我有一张带有一些标记的地图。我为拖动设置了监听器:

map.setOnMarkerDragListener(this);

但只有在用户长按标记后才能启用拖动。我想立即启用拖动。有没有办法使用 Android 地图 (v2) 做到这一点?

【问题讨论】:

  • 你有没有发现什么有用的东西?
  • 不,我放弃了...
  • 即使我找不到它,但我看到一个应用程序(测量器)正在这样做,可能他们正在使用一些黑客。

标签: android google-maps android-maps-v2 android-event


【解决方案1】:

您可以使用Drag and Drop,借助 Android 拖放框架,您可以允许您的用户使用图形拖放手势将数据从一个视图移动到当前布局中的另一个视图。该框架包括一个拖动事件类、拖动侦听器和辅助方法和类。

当用户做出一些您认为是开始拖动数据的信号的手势时,拖放操作就会开始。作为响应,您的应用程序告诉系统拖动开始。系统回调您的应用程序以获取正在拖动的数据的表示。当用户的手指在当前布局上移动此表示(“拖动阴影”)时,系统会将拖动事件发送到与布局中的View 对象关联的拖动事件侦听器对象和拖动事件回调方法。

您从实现View.OnDragListener 的类创建拖动事件侦听器对象(“侦听器”)。您可以使用 View 对象的 setOnDragListener() 方法为 View 设置拖动事件侦听器对象。每个 View 对象也有一个onDragEvent() 回调方法。这两个都在The drag event listener and callback method 部分中有更详细的描述。

【讨论】:

  • 用户完成拖拽后如何知道纬度?
  • 这不是在回答他的问题,它不是一个视图,而是一个标记对象,这是一个不同的情况
猜你喜欢
  • 1970-01-01
  • 2012-12-02
  • 2016-10-12
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多