Google Map v2 Marker Animation

У кого-нибудь есть идеи, как реализация этой анимации возможна в Google Map API v2. Проверьте это здесь. Я хотел бы знать, как это делается. Пожалуйста, дайте мне знать, если у кого-нибудь есть пример кода по этому поводу.

Заранее спасибо.

3 ответа

Решение

Я нашел решение, которое сработало для меня:

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
        }
    }
});

Вы можете изменить положение Marker в любой момент позвонив setPosition(), Вы можете изменить положение "камеры" (т. Е. Центр карты и уровень масштабирования) в любой точке, применяя CameraUpdate использование объекта moveTo() или же animateTo() на GoogleMap, Объединяя их с легкой петлей синхронизации (например, используя postDelayed()) должно позволить вам добиться аналогичного эффекта анимации.

Хорошая новость заключается в том, что он Google Map API v2 предоставляет новые элементы управления камерой. Вы можете проверить новые функции и их использование прямо здесь, на канале Youtube команды разработчиков Android.

Он также обеспечивает анимацию, наклон, поворот... но я думаю, что видео очень подробное, а также рассказывает о приложениях, подобных тому, что в вашем примере.

Веселитесь, и дайте мне ссылку, когда вы закончите свое приложение.

Другие вопросы по тегам