グーグルマップにアニメーション(測地線)ポリラインを描きたいのですが、少しこのようになります: http://planefinder.net/route/SFO/
ポリラインに沿ってシンボルをアニメーション化する方法について多くのチュートリアルを見つけましたが、ソースから宛先までポリライン自体をアニメーション化する方法については何もありませんでした。
ヒントはありますか?どこから始めればいいですか?
どんな助けでも本当にありがたいです。
私は以下でいくつかの成功を収めました:
var departure = new google.maps.LatLng(dept_lat, dept_lng); //Set to whatever lat/lng you need for your departure location
var arrival = new google.maps.LatLng(arr_lat, arr_lng); //Set to whatever lat/lng you need for your arrival location
var line = new google.maps.Polyline({
path: [departure, departure],
strokeColor: "#FF0000",
strokeOpacity: 1,
strokeWeight: 1,
geodesic: true, //set to false if you want straight line instead of arc
map: map,
});
var step = 0;
var numSteps = 250; //Change this to set animation resolution
var timePerStep = 5; //Change this to alter animation speed
var interval = setInterval(function() {
step += 1;
if (step > numSteps) {
clearInterval(interval);
} else {
var are_we_there_yet = google.maps.geometry.spherical.interpolate(departure,arrival,step/numSteps);
line.setPath([departure, are_we_there_yet]);
}
}, timePerStep);
これは基本的に、パスを再描画するために間隔を使用しています。各ステップで、目に見えるアニメーション化されたパスが、出発から到着までの全パスの大部分を占め、最終的に到着場所に到達します。