'use client'; import React, { useEffect, useState } from 'react' import { MapContainer, Marker, Popup, TileLayer, useMap } from 'react-leaflet' import 'leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.css' import "leaflet-defaulticon-compatibility"; import "leaflet/dist/leaflet.css"; const DEFAULT_ZOOM = 17; function MapPan(props) { const map = useMap(); const [initialized, setInitialized] = useState(false); useEffect(() => { if(!initialized && JSON.stringify(props.center) != "[0,0]") { map.flyTo(props.center, DEFAULT_ZOOM); setInitialized(true) } },[props.center]); return null; } export default function LiveMap({enemyPosition, currentPosition, ...props}) { const [positionSet, setPositionSet] = useState(false); useEffect(() => { if(!positionSet && JSON.stringify(currentPosition) != "[0,0]") { setPositionSet(true); } }, [currentPosition]); const [enemyPositionSet, setEnemyPositionSet] = useState(false); useEffect(() => { if(!enemyPositionSet && JSON.stringify(enemyPosition) != "[0,0]") { setEnemyPositionSet(true); } }, [enemyPosition]); return ( {positionSet && Votre position } {enemyPositionSet && Position de l'ennemi } ) }