マップにポリラインを追加し、ポリラインデコレータプラグインを使用して移動方向の矢印をポリラインに追加しています。次にsetInterval
、オフセットのパーセンテージとして単純なカウント増分を使用して、ポリラインに沿って矢印を移動します。
問題は、さらにズームインすると(ズームレベル13以上)、矢印の速度が速すぎることです。あなたはそれを遅くする方法を提案できますか?
遊ぶためのいくつかの変数は次のとおりです。
map.getZoom()
ズームレベルに基づいて速度を変更するには?
polyArray.length
多分ポリラインの長さに基づいて速度を変更するには?
ここでフィドルを参照してください:http://jsfiddle.net/KSv2h/
そして以下の私の全機能
// add map polylines
function addPolyline(polyArray, colour) {
console.log(polyArray.length);
polyline = L.polyline(polyArray, {color: colour});
var arrowHead = L.polylineDecorator(polyline).addTo(mylayergroup);
var arrowOffset = 0;
var anim = window.setInterval(function() {
arrowHead.setPatterns([
{offset: arrowOffset+'%', repeat: 0, symbol: new L.Symbol.ArrowHead({pixelSize: 15, polygon: false, pathOptions: {stroke: true}})}
])
if(++arrowOffset > 100)
arrowOffset = 0;
}, 100);
mylayergroup.addLayer(polyline).addTo(map);
}
どんな助けでも大歓迎です。