【问题标题】:How to get the Map Extent change event in OSMdroid?如何在 OSMdroid 中获取地图范围更改事件?
【发布时间】:2013-03-31 07:54:29
【问题描述】:

我在我的自定义 Android 应用程序中使用 Osmdroid 库。

在每次范围更改时(以及放大地图时),我想查询 sqlite 数据库并获取位于该范围内的记录。为此,我需要类似于地图范围更改事件的东西。

我在 MapView 类上找不到这样的事件。我如何实现我想做的事情?

更新 我正在使用这样的 MapListner:

mapView.setMapListener(new MapListener() {   
    public boolean onZoom(ZoomEvent arg0) {
        return false;
    }

    public boolean onScroll(ScrollEvent arg0) {
         onExtentChange();
        return false;
    }
} );

但 onScrollEvnt 会为地图的每个平移触发多次。如何获得最后一个或最终的滚动事件?

【问题讨论】:

  • 在您的编辑中,您为自己提供了一个非常可接受的答案,但您随后也更改了原始问题,并且其他人提供了您的答案并因此获得了荣誉。 :微笑:

标签: android osmdroid


【解决方案1】:
setMapListener(new DelayedMapListener(new MapListener() {  
    public boolean onZoom(final ZoomEvent e) {
        //do something
        return true;
    }

    public boolean onScroll(final ScrollEvent e) {
        Log.i("zoom", e.toString());
        return true;
    }
    }, 1000 ));

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
  • 1970-01-01
  • 2015-09-29
  • 2012-08-26
相关资源
最近更新 更多