Android地图查看泛过度检测

时间:2013-03-04 06:27:14

标签: android events map android-mapview

我正在使用android MapView

我希望在平移地图视图时触发某个事件,如果用户正在平移它,则应该在平移集结束时触发

我需要进行一次http调用,根据用户目前在平移结束时的地图视图来提取一些数据,这就是我需要收听平移结束事件的原因

1 个答案:

答案 0 :(得分:1)

没有内置方法来获取此类事件。但你可以尝试MapView Overlay Manager听一些手势。或者编写自己的类,从MapView扩展以捕获用户的触摸事件。

编辑:

要扩展Mapview,请覆盖onTouchEvent方法。

public boolean onTouchEvent(MotionEvent ev) {
    if (ev.getAction() == MotionEvent.ACTION_UP) {
        GeoPoint centerGeoPoint = this.getMapCenter();
        if (currentCenter == null || 
                (currentCenter.getLatitudeE6() != centerGeoPoint.getLatitudeE6()) ||
                (currentCenter.getLongitudeE6() != centerGeoPoint.getLongitudeE6()) ) {
            firePanEvent(currentCenter, this.getMapCenter());
        }
        currentCenter = this.getMapCenter();
    }
    return super.onTouchEvent(ev);
}