如何让dispatchTouchEvent更灵活? (我无法移动地图)

时间:2012-09-17 12:00:40

标签: android google-maps android-maps

我正在使用此代码来获取我在adroid中使用Google地图视图点击的点的协调。

@Override
public boolean dispatchTouchEvent(MotionEvent event) 
{   
    if (event.getAction() == 1) {                
        GeoPoint p = mapView.getProjection().fromPixels(
            (int) event.getX(),
            (int) event.getY());
            // send the intent from here to your next activity with the GeoPoint coords.
            Toast.makeText(getBaseContext(), 
                p.getLatitudeE6() / 1E6 + "," + 
                p.getLongitudeE6() /1E6 , 
                Toast.LENGTH_SHORT).show();
    }                      
    return false;
}  

它工作正常,每次我触摸地图它都会显示我的确切坐标 - 但现在我无法滚动浏览我的地图,因为当我试图“抓住”地图并滚动到一边时,我得到的是一切。

如何解决?

我知道,也许当我点击两次它会得到我的坐标,但我希望能够“抓住”地图并滚动它。

1 个答案:

答案 0 :(得分:0)

也许最简单的方法是在mapview中添加一个按钮,在两种不同的行为之间切换。按下Whewn按钮会显示坐标,释放时地图会移动。

您只需要在“dispatchTouchEvent”方法中测试按钮状态。

祝你好运。