🐛 Changed openModal call to fit with the last edit

timeline
Alix JEUDI--LEMOINE 2 weeks ago
parent db5c7f6514
commit 8c9b32a9ad

@ -162,7 +162,7 @@ export class LeafletMapComponent implements OnInit {
.toPromise(); .toPromise();
// Ouvrir la modal avec les données pré-remplies // Ouvrir la modal avec les données pré-remplies
this.modalService.openModal('add-pin-modal', [], '', { this.modalService.openModal('add-pin-modal', [], {
location: address?.display_name || '', location: address?.display_name || '',
complete_address: address?.display_name || '', complete_address: address?.display_name || '',
coordinates: [latlng.lat, latlng.lng] coordinates: [latlng.lat, latlng.lng]
@ -170,7 +170,7 @@ export class LeafletMapComponent implements OnInit {
} catch (error) { } catch (error) {
console.error('Erreur lors de la récupération de l\'adresse:', error); console.error('Erreur lors de la récupération de l\'adresse:', error);
// En cas d'erreur, ouvrir la modal avec juste les coordonnées // En cas d'erreur, ouvrir la modal avec juste les coordonnées
this.modalService.openModal('add-pin-modal', [], '', { this.modalService.openModal('add-pin-modal', [], {
location: `${latlng.lat}, ${latlng.lng}`, location: `${latlng.lat}, ${latlng.lng}`,
complete_address: `${latlng.lat}, ${latlng.lng}`, complete_address: `${latlng.lat}, ${latlng.lng}`,
coordinates: [latlng.lat, latlng.lng] coordinates: [latlng.lat, latlng.lng]
@ -270,7 +270,7 @@ export class LeafletMapComponent implements OnInit {
componentRef.instance.marker = marker; componentRef.instance.marker = marker;
popupDiv.appendChild(componentRef.location.nativeElement); popupDiv.appendChild(componentRef.location.nativeElement);
marker.bindPopup(popupDiv, { closeButton: false, minWidth: 150 }); marker.bindPopup(popupDiv, { closeButton: false, minWidth: 200 });
this.markersMap[pin.id] = marker; this.markersMap[pin.id] = marker;
@ -280,13 +280,16 @@ export class LeafletMapComponent implements OnInit {
if (pinId) { if (pinId) {
const marker = this.markersMap[pinId]; const marker = this.markersMap[pinId];
if (marker) { if (marker) {
marker.openPopup(); setTimeout(() => {
marker.openPopup();
}, 1); // 1ms pour que l'événement popupopen se produise correctement
const latlng = marker.getLatLng(); const latlng = marker.getLatLng();
const zoom = this.map.getZoom(); const zoom = this.map.getZoom();
const offsetLat = 0.05 / Math.pow(2, zoom - 10); const offsetLat = 0.05 / Math.pow(2, zoom - 10);
this.map.setView( this.map.setView(
L.latLng(latlng.lat + offsetLat, latlng.lng), L.latLng(latlng.lat + offsetLat, latlng.lng),
zoom zoom
); );
} }
} }

Loading…
Cancel
Save