1

我有以下问题:

对于我的学士论文,我制作了一个程序,可以截取触摸屏上的手势并放大谷歌地图。问题: Google Maps Android API v2解决了如何拦截手势- 检测地图上的触摸?

这是完整的代码:

http://dimitar.me/how-to-detect-a-user-pantouchdrag-on-android-map-v2/

因为我必须缩放地图,所以我在我的 Activity 中创建了一个对象 Google Map:

public class Zoom2Activity extends FragmentActivity implements UpdateMapAfterUserInterection
{
    private GoogleMap mMap;
    float xMid;
    float yMid;
    float zoom;
    double angle;
    int zoomCounter;
    boolean threadLifeFlag;
    PointFloat dSize= new PointFloat();

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zoom2);
        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapFragment)).getMap();
    }

    // Implement the interface method

    //@Override
    public void onUpdateMapAfterUserInterection(double angle, int zoomCounter) {
        // Here I zoom the map
        zoom = (float) (3+((zoomCounter*45+angle)/30));
        mMap.animateCamera(CameraUpdateFactory.zoomTo(zoom));
    }
}

现在代码正在运行,但在触摸屏工作期间缩放速度变慢。然后我拿开手指,地图会放大其余部分。我不知道如何为触摸屏或地图视图制作自己的线程。

4

1 回答 1

0

假设onUpdateMapAfterUserInterection每次MotionEvent我建议调用moveCamera而不是调用您的animateCamera. 它会立即缩放到所需的缩放级别。

于 2013-09-11T10:23:25.817 回答