Как медленно перемещать маркер в последнем API Google Map
Я создаю веб-приложение, в котором одним рейсом нужно лететь из одного места в другое. Сейчас я строю аэропорты и размещаю самолеты в качестве маркера, как перемещать маркер своего самолета из одного места в другое.
1 ответ
Решение
Вы можете достичь этого, используя следующее:
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/