svg-pan-zoom simple example
HTML
<script src="https://ariutta.github.io/svg-pan-zoom/dist/svg-pan-zoom.js"></script>
<div id="container">
<svg id="svg-id" height="300px" xmlns="http://www.w3.org/2000/svg">
<g>
<g stroke="#000" fill="#FFF">
<rect x="10" y="10" width="120" height="120" fill="lightgreen"/>
<path d="M 10 10 L 130 130 Z"/>
</g>
</g>
</svg>
</div>
CSS
#container{
width: 300px; height: 300px; border:1px solid black;
}
JavaScript
document.getElementById('svg-id').onmousedown = function (e) {
if (e.button !== 1 ) e.stopImmediatePropagation();
}
panZoomInstance = svgPanZoom('#svg-id', {
zoomEnabled: true,
controlIconsEnabled: true,
fit: true,
center: true,
minZoom: 0.1
});