java - 如何在我的自定义 osmdroid map 上设置拖动开始和结束监听器?

标签 java android osmdroid

我需要在 map 中显示拖动事件的 toast ,下面是我的代码,其中当我执行拖动结束事件时,我仅收到“拖动开始”消息。我怎样才能做到呢?

public void onDragListener() {
    osm.setMapListener(new DelayedMapListener(new MapListener() {

        @Override
        public boolean onScroll(ScrollEvent paramScrollEvent) {
            // public boolean onDrag(boolean b) {
            int drag = DragEvent.ACTION_DRAG_STARTED;
            if (drag == 1) {
                Toast.makeText(getBaseContext(), "Drag Started",
                        Toast.LENGTH_LONG).show();

            }
            int drag1 = DragEvent.ACTION_DRAG_ENDED;
            if (drag1 == 1) {
                Toast.makeText(getBaseContext(), "Drag Stopped",
                        Toast.LENGTH_LONG).show();
            }

            return true;
        }

    }));
}

任何帮助将不胜感激,谢谢

最佳答案

基本上逻辑是不正确的,它只会显示 Drag Started Toast。这就是修复 toast 的方法。

在类级别定义变量。

    private Context ctx;

然后赋值

  @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.select_location);


    ctx = getApplicationContext();

然后在代码中使用它

map.setMapListener(new DelayedMapListener(new MapListener() {

        @Override
        public boolean onScroll(ScrollEvent paramScrollEvent) {
            // public boolean onDrag(boolean b) {
            IGeoPoint ij = map.getMapCenter();
            Double lat = ij.getLatitude();
            Double lon = ij.getLongitude();

           Toast.makeText(ctx, lat+","+lon, Toast.LENGTH_SHORT).show();


            return true;
        }


       @Override
       public boolean onZoom(ZoomEvent event) {
           return false;
       }

   }));

关于java - 如何在我的自定义 osmdroid map 上设置拖动开始和结束监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46191243/

相关文章:

android - osmdroid sqlite 瓦片源

java - 如何在 JavaFX 中以编程方式触发鼠标事件?

java - 类型之间的字符串类源行为不一致

java - 卡夫卡流DSL : Application lags for windowed aggregation

android - 使用wifi ip定位

android - ErrnoException : isConnected failed: EHOSTUNREACH (No route to host) when changing the wifi network using ICS

java - R 绘图的问题

android - 如何绘制两个标记之间的路径?

java - 当应用程序部署为 war 时,Tomcat 不调用 Controller

android - 使用 osmdroid-android-3.0.7 运行时无法访问资源图标