如何在最新 google 地图 api 中缓慢移动标记

How to move marker slowly in latest google map api

我正在构建一个 Web 应用程序,其中一个航班需要从一个地方飞到另一个地方。我已经建立了机场并放置了飞机作为标记,如何将我的飞机标记从一个地方移动到另一个地方。

您可以利用以下方法实现它:

  var lineSymbol = {
    path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
    scale: 3, // change the size
    strokeColor: '#393'
  };

如果你需要飞机等,你将不得不考虑自己改变这个。

然后您需要为它实现多段线:

  // Create the polyline and add the symbol to it via the 'icons' property.
  var line = new google.maps.Polyline({
    path: [{
      lat: 51.4700,
      lng: 0.4543
    }, {
      lat: 50.1109,
      lng: 8.6821
    }, {
        lat: 55.9533,
      lng: 3    
    }, {
      lat: 51.4700,
      lng: 0.4543
    },
    ],
    strokeColor: '#FF0000',
    strokeOpacity: 1.0,
    strokeWeight: 0, // change this value to show / hide the line
    icons: [{
      icon: lineSymbol,
      offset: '100%'
    }],
    map: map
  });

  animateCircle(line);
}

最后,我们需要在线上添加动画符号的方法:

function animateCircle(line) {
  var count = 0;
  window.setInterval(function() {
    count = (count + 1) % 200; // change this to 1000 to only show the line once
    var icons = line.get('icons');
    icons[0].offset = (count / 2) + '%';
    line.set('icons', icons);
  }, 50); // change this value to change the speed
}

JSFIDDLE:https://jsfiddle.net/tu4s6302/3/