6

我在我的自定义 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 多次。如何获得最后一个或最终的滚动事件?

4

1 回答 1

15
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 ));
于 2013-05-08T00:02:38.467 回答