L.Map.setZoom
と呼んL.Map.setView
だ L.Map._animateZoomIfClose
が true の場合map._animatingZoom
、ズームは停止します。map._animatingZoom
ズームアニメーションのように動作します:
L.Map._animateZoomIfClose
if true
stop zoom else callで確認してくださいL.Map._animateZoom
。
true
atに設定し、 L.Map._animateZoom
css トランジションを開始します。
- CSS トランジション終了時に
false
atに設定します。L.Map._onZoomTransitionEnd
なんでそのまま?ブレーク css 遷移作業が難しいからだと思います。
そのため、CSS の変換と遷移を無効にする場合は、コードが正しく機能する必要があります。独自の拡張機能を追加することもできmap._animatingZoom === true
ます。アクションを配列に配置すると、map._catchTransitionEnd
呼び出されたときにこれを処理し、アクションを配列からシフトして処理します。
if (L.DomUtil.TRANSITION) {
L.Map.addInitHook(function () {
L.DomEvent.on(this._mapPane, L.DomUtil.TRANSITION_END, function () {
var zoom = this._zoomActions.shift();
if (zoom !== undefined) {
this.setZoom(zoom);
}
}, this);
});
}
L.Map.include(!L.DomUtil.TRANSITION ? {} : {
_zoomActions: [],
queueZoom: function (zoom) {
if (map._animatingZoom) {
this._zoomActions.push(zoom);
} else {
this.setZoom(zoom);
}
}
});