import React, { useState, useEffect, useCallback } from 'react'; import { MapContainer, TileLayer, useMapEvents, Marker, Popup , // useMap } from 'react-leaflet'; import L from 'leaflet'; import 'leaflet/dist/leaflet.css'; delete L.Icon.Default.prototype._getIconUrl; L.Icon.Default.mergeOptions({ iconRetinaUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-icon-2x.png', iconUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-icon.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-shadow.png', }); const ClickHandler = ({ onMapClick }) => { useMapEvents({ click(e) { const { lat, lng } = e.latlng; onMapClick(lat, lng); }, }); return null; }; const Map = ( { onMapClick } ) => { const [wikiContent, setWikiContent] = useState(null); const fetchWiki = async (pageName) => { const res = await fetch(`http://localhost:8004/wiki/${pageName}`); const data = await res.json(); setWikiContent(data); }; const markerPosition = [21.2514, 81.6296]; return ( fetchWiki("Raipur"), }}> {wikiContent ? ( <> {wikiContent.title}

{wikiContent.content}

) : ( "Click marker to load Wikipedia content" )}
{/* Example marker */}
); }; export default Map;