Кто-нибудь знает, как реализация этой анимации возможна в google map api v2. Посмотрите здесь. Я хотел бы знать, как это делается. Пожалуйста, дайте мне знать, если у кого-нибудь есть пример кода по этому поводу.
Заранее спасибо.
Кто-нибудь знает, как реализация этой анимации возможна в google map api v2. Посмотрите здесь. Я хотел бы знать, как это делается. Пожалуйста, дайте мне знать, если у кого-нибудь есть пример кода по этому поводу.
Заранее спасибо.
Я нашел решение, которое мне подошло:
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()
) должно позволить вам добиться аналогичного эффекта анимации.
Marker
, чтобы они были различными точками на этом пути.
- person CommonsWare; 20.12.2012
Отличная новость заключается в том, что Google Map API v2 предоставляет новые элементы управления камерой. Вы можете ознакомиться с новыми функциями и узнать, как их использовать, здесь на Youtube-канале команды разработчиков Android.
Он также обеспечивает анимацию, наклон, азимут ... но я думаю, что видео очень подробное, а также рассказывает о приложениях, подобных тому, что в вашем примере.
Получайте удовольствие и дайте мне ссылку, когда закончите свое приложение.