L.Map.setZoomと呼んL.Map.setViewだ L.Map._animateZoomIfCloseが true の場合map._animatingZoom、ズームは停止します。map._animatingZoomズームアニメーションのように動作します:
L.Map._animateZoomIfCloseif truestop zoom else callで確認してくださいL.Map._animateZoom。
trueatに設定し、 L.Map._animateZoomcss トランジションを開始します。
- CSS トランジション終了時に
falseatに設定します。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);
}
}
});