У нативной библиотеки leaflet, есть отличный
пример .
Мне нужно что-то похожее, но только в react-leaflet.
Через хук
useMapEvent я могу навесить события и получить объект локации, но получаю дефолтные значение, которые я указал в контейнере, как центр карты.
Контейнер
<MapContainer center={coords} zoom={5} scrollWheelZoom={false}>
<Click />
<TileLayer
attribution='© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<Marker position={coords} icon={markerIcon}>
<Popup>
Вы здесь!
</Popup>
</Marker>
</MapContainer >
Хук
export default function Click() {
const map = useMapEvent({
click: () => {
map.locate()
},
locationfound: (e) => {
console.log(e);
}
})
return null;
}
Вариант хука, взят с документации