Анимация polylines google maps

151
19 октября 2019, 03:20

стоит задача на гугл карте сделать анимацию полета самолетов. Как сделать анимацию из одной точки во вторую я знаю:

var
                departure   = new google.maps.LatLng(this.coordinates[i][0], this.coordinates[i][1]),
                arrival     = new google.maps.LatLng(this.coordinates[i + 1][0], this.coordinates[i + 1][1]),
                line        = new google.maps.Polyline({
                    path: [
                        departure,  
                        arrival
                    ],
                    geodesic: true,
                    strokeOpacity: 0,
                    icons: [{ icon: this.plane }],
                    map: map
                }),
                step        = 0,
                numSteps    = 250,
                timePerStep = 9;
            var interval = await setInterval(function() {
                step += 1;
                if (step > numSteps) {
                    setTimeout(function() {
                        step = 0;
                    }, PLANE_ANIMATION_DELAY);
                } else {
                    var areWeThereYet = google.maps.geometry.spherical.interpolate(departure, arrival, step / numSteps);
                    line.setPath([departure, areWeThereYet]);
                }
            }, timePerStep);

Но проблема в том что рейс может быть с пересадкой. В этом случае я рисую polylines так:

function initMap() {
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 3,
      center: {lat: 0, lng: -180},
      mapTypeId: 'terrain'
    });
    var flightPlanCoordinates = [
      {lat: 37.772, lng: -122.214},
      {lat: 21.291, lng: -157.821},
      {lat: -18.142, lng: 178.431},
      {lat: -27.467, lng: 153.027}
    ];
    var flightPath = new google.maps.Polyline({
      path: flightPlanCoordinates,
      geodesic: true,
      strokeColor: '#FF0000',
      strokeOpacity: 1.0,
      strokeWeight: 2
    });
    flightPath.setMap(map);
  }

Вопрос: можно ли мне сделать анимацию полета для пути с пересадками?

READ ALSO
Цепочка прототипов и hasOwnProperty

Цепочка прототипов и hasOwnProperty

Не могу понятьНа MDN пишут, что:

79
Jquery отказывается работать

Jquery отказывается работать

Вот есть код в чате с формой и отправкой аякс запроса по нажатию на кнопкуНО увы ничего не происходит

117
Почему нету данных на сервере express

Почему нету данных на сервере express

Имеется код для отправки формы

88