1

次の問題があります。

卒業論文では、タッチスクリーンからのジェスチャーをインターセプトし、Google マップでズームするプログラムを作成しています。問題: ジェスチャをインターセプトするにはどうすればよいですか?

完全なコードは次のとおりです。

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

マップをズームする必要があるため、アクティビティにオブジェクト Google マップを作成しました。

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