feat: Geocoder-Suchfeld zur Karte hinzugefügt

- Leaflet-Control-Geocoder integriert, um die Suche nach Koordinaten und Adressen zu ermöglichen.
- Suchfeld in der oberen linken Ecke platziert.
- Automatische Marker-Platzierung und Popup-Anzeige bei erfolgreicher Suche implementiert.
- Layer-Gruppen initialisiert und Suchfeld nach Layer-Setup hinzugefügt.
This commit is contained in:
ISA
2024-12-23 12:30:45 +01:00
parent 5416e8a476
commit fdac9b6901
4 changed files with 45 additions and 4 deletions

View File

@@ -737,6 +737,18 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
}
});
// Fügt das Suchfeld (Geocoder) zur Karte hinzu
const geocoder = L.Control.geocoder({
position: "topleft", // Position des Suchfeldes
defaultMarkGeocode: false, // Deaktiviert den automatischen Marker
})
.on("markgeocode", function (e) {
const latlng = e.geocode.center;
map.setView(latlng, 15); // Zoom zur Position
L.marker(latlng).addTo(map).bindPopup(e.geocode.name).openPopup(); // Marker hinzufügen
})
.addTo(map); // Suchfeld zur Karte hinzufügen
const updateMarkers = ({ ref, id, setState }) => {
if (ref.current) {
ref.current.clearLayers(); // Entferne alte Marker