gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 20:14:20 25 4
gpt4 key购买 nike

我需要在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com