react-image-leaflet
A React library based on leaflet that adds pan and zoom features to images.
Features
- Pan & Zoom
- Adjust image size according to parent containers
- Provided with Type Difinitions
Usage
Install
$ npm install react-image-leaflet
then in your jsx or tsx ...
import React from 'react';
import ReactDOM from 'react-dom';
import PanZoom from 'react-image-leaflet';
const App = () => {
const [url, setUrl] = React.useState('https://source.unsplash.com/random');
return (
<div style={{ width: '80vw', height: '80vh' }}>
<PanZoom
url={url}
attribution='<a target="_blank" href="https://source.unsplash.com/">source.unsplash.com</a>'
/>
</div>
);
};
ReactDOM.render(<App />, document.getElementById('root'));
Props
url: Image URL (required)bgColor: string (default:'#ddd')margin: string | number (default:0)padding: string | number (default:0)zIndex: number | 'inherit' (default:'inherit')doubleClickReset: boolean (default:false, overridesdoubleClickZoom)fitSmallImage: boolean (default:false)attribution: string (The HTML text)
Props inherited from Leaflet
see leaflet's documents for more details ...
preferCanvas: boolean (default:false)attributionControl: boolean (default:true)zoomControl: boolean (default:true)zoomSnap: number (default:1)zoomDelta: number (default:1)boxZoom: boolean (default:true)doubleClickZoom: boolean | 'center' (default:true)dragging: boolean (default:true)maxZoom: number (default:3)zoomAnimation: boolean (default:true)zoomAnimationThreshold: number (default:4)fadeAnimation: boolean (default:true)keyboard: boolean (default:true)keyboardPanDelta: number (default:80)scrollWheelZoom: boolean | 'center' (default:true)wheelDebounceTime: number (default:40)wheelPxPerZoomLevel: number (default:60)tap: boolean (default:true)tapTolerance: number (default:15)touchZoom: boolean | 'center' (default:true)bounceAtZoomLimits: boolean (default:true)