import React, {useEffect, useState} from 'react' import 'leaflet' import 'leaflet/dist/leaflet.css' import { LayersControl, MapContainer, Marker, Polygon, Polyline, Popup, TileLayer, useMap, useMapEvent } from '@monsonjeremy/react-leaflet' import * as L from 'leaflet' type LeafletMapProps = {onBoundsChange?: (bounds: L.LatLngBounds) => void} const BoundsChangeListener = ({onBoundsChange}: {onBoundsChange?: (bounds: L.LatLngBounds) => void}) => { const map = useMap() const updateBounds = () => { onBoundsChange && onBoundsChange( map.getBounds() ) } useEffect(() => { updateBounds() }, [map]) useMapEvent('moveend', (e) => updateBounds()) useMapEvent('load', (e) => updateBounds()) return null } const LeafletMap = ({onBoundsChange}: LeafletMapProps) => { const [zoom, setZoom] = useState( 8 ) const [position, setPosition] = useState( { lat: 51.0833, lng: 13.73126, } ) return ( <> ) } export default LeafletMap