Хобрук: Ваш путь к мастерству в программировании

Android Google Maps перемещает камеру в разные места с анимацией

Привет, я пытаюсь изменить камеру в разных местах с анимацией. Что происходит, так это то, что когда карта открывается, она приближается к месту, затем останавливается на 6 секунд, а затем перемещается в другое место с анимацией камеры. Мой вопрос в том, что когда это будет закончено, как я могу создать 3-е место, а затем переместить камеру из 2-го места в 3-е? Любая идея, ребята? Спасибо. Вот мой код.

   public class THEMAP extends Activity {

   @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    GoogleMap map = ((MapFragment) getFragmentManager()
            .findFragmentById(R.id.map)).getMap();

    LatLng loc1 = new LatLng(41.889, -87.622);
    LatLng loc2 = new LatLng(45.889, -87.622);
    LatLng loc3 = new LatLng(49.889, -87.622);



    map.moveCamera(CameraUpdateFactory.newLatLngZoom(loc1, 10));

    map.animateCamera(CameraUpdateFactory.zoomIn());
    map.animateCamera(CameraUpdateFactory.zoomTo(10), 6000, null);

    map.addMarker(new MarkerOptions()
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.green))
            .position(loc2)
            .flat(true)
            .rotation(245));

    map.addMarker(new MarkerOptions()
    .icon(BitmapDescriptorFactory.fromResource(R.drawable.green))
    .position(loc1)
    .flat(true)
    .rotation(245));

    map.addMarker(new MarkerOptions()
    .icon(BitmapDescriptorFactory.fromResource(R.drawable.green))
    .position(loc3)
    .flat(true)
    .rotation(245));


    CameraPosition cameraPosition = new CameraPosition.Builder()
    .target(mapCenter2)     
    .zoom(8)                   
    .bearing(90)                
    .tilt(30)                   
    .build();                   



  map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition ),
    8000, null);

   }

  }

Проблема в том, что если я добавлю еще одно местоположение + маркер и попытаюсь выполнить приведенный выше код, карта анимирует только 3-е местоположение, игнорируя анимацию 2-го местоположения. Любые советы, ребята? Пожалуйста, помогите.

    CameraPosition cameraPosition2 = new CameraPosition.Builder()
    .target(loc3)     
    .zoom(8)                  
    .bearing(90)               
    .tilt(30)                   
    .build();                   



   map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition2 ),
    8000, null);

Ответы:


1

Вот ваш ответ: http://ddewaele.github.io/GoogleMapsV2WithActionBarSherlock/part3

Кажется, вам нужно реализовать вторую анимацию в обратном вызове onFinish() второй анимации.

26.06.2014
Новые материалы

Я собираюсь научить вас Python шаг за шагом
Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..

React on Rails
Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

Ториго  — революция в игре Го
Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

Математика и интуиция - Часть 1
У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..