8

このアニメーションの実装がグーグルマップAPIv2でどのように可能であるかを誰かが知っていますか? こちらをご覧ください。 これがどのように行われるのか知りたいのですが。これに関するサンプルコードがあれば教えてください。

前もって感謝します。

4

3 に答える 3

9

私は私のために働く解決策を見つけました:

final LatLng target = NEW_LOCATION;

final long duration = 400;
final Handler handler = new Handler();
final long start = SystemClock.uptimeMillis();
Projection proj = map.getProjection();

Point startPoint = proj.toScreenLocation(marker.getPosition());
final LatLng startLatLng = proj.fromScreenLocation(startPoint);

final Interpolator interpolator = new LinearInterpolator();
handler.post(new Runnable() {
    @Override
    public void run() {
        long elapsed = SystemClock.uptimeMillis() - start;
        if (elapsed > duration) {
            elapsed = duration;
        }
        float t = interpolator.getInterpolation((float) elapsed / duration);
        double lng = t * target.longitude + (1 - t) * startLatLng.longitude;
        double lat = t * target.latitude + (1 - t) * startLatLng.latitude;
        marker.setPosition(new LatLng(lat, lng));
        if (t < 1.0) {
            // Post again 10ms later.
            handler.postDelayed(this, 10);
        } else {
            // animation ended
        }
    }
});
于 2013-02-05T14:09:24.667 に答える
7

Markerを呼び出して、いつでもa の位置を変更できsetPosition()ます。またはをCameraUpdate使用してオブジェクトを適用することにより、いつでも「カメラ」の位置 (マップの中心とズーム レベル) を変更できます。これらをライト タイミング ループと組み合わせると (たとえば、 を使用)、同様のアニメーション効果を実現できます。moveTo()animateTo()GoogleMappostDelayed()

于 2012-12-20T12:43:52.277 に答える
0

すばらしいニュースは、Google Map API v2 が新しいカメラ コントロールを提供することです。 Android 開発者チームの Youtube チャンネルで、新機能とその使用方法を直接確認できます

また、アニメーション、チルト、ベアリングも提供します...しかし、ビデオは非常に詳細であり、例のようなアプリケーションについても話していると思います.

アプリを完成させたらリンクを教えてください。

于 2013-02-01T23:45:37.427 に答える