Mirador 3で特定の領域にズームにするには、以下に記載があるような方法で行います。
https://github.com/ProjectMirador/mirador/wiki/M3---Mirador-3-Frequently-Asked-Questions#q-how-do-i-change-the-view-of-an-image-to-zoom-to-a-certain-area
具体的には以下です。
内部的にはOpenSeadragonのpanToとzoomToが使用されているようでした。
この時の課題として、zoomToは以下の記事にあるように、constraintsを無視して拡大するようでした。
https://github.com/openseadragon/openseadragon/issues/881
これに対して、以下の記事で示したように、viewer.viewport.applyConstraints();の処理を追加することで、constraintsを守った拡大ができるようになりました。
以下、強引ではありますが、npmでインストールしたMiradorに対して、上記の設定を行う方法を紹介します。
Miradorの編集#
以下でMiradorをインストールします。
node_modules以下にmiradorフォルダが作成されます。
その中にある以下のファイルに対して、viewport.applyConstraints();を追加する例を示します。
上記の設定により、Mirador.actions.updateViewportでズームした際に、constraintsを守った拡大ができるようになりました。
まとめ#
本来はMiradorのソースコードを修正してビルドするほうがよいと思いますが、Miradorのビルドがうまくいかず、代替策として、ビルド済みのファイルを修正しました。
ソースコードから修正する方法も引き続き調査を行いますが、他の方の参考になりましたら幸いです。