Je suis en train de créer une application qui utilise l'API Leaflet OpenStreetMap mais je rencontre un problème. J'essaie d'obtenir les coordonnées du centre lorsque je clique sur ma carte, mais j'obtiens l'erreur : 'TypeError: map.getCenter n'est pas une fonction', il en va de même pour 'TypeError: map.getCenter n'est pas une fonction'. Voici mon code ci-dessous.
import React, {Component} from 'react';
import L from 'leaflet';
import './App.css';
import leafGreen from './assets/leaf-green.png';
import leafRed from './assets/leaf-red.png';
import leafShadow from './assets/leaf-shadow.png';
import { MapContainer, TileLayer, Marker, Popup } from 'react-leaflet';
class App extends Component {
constructor() {
super();
this.state = {
markers: [[51.505, -0.09]]
};
}
greenIcon = L.icon({
iconUrl: leafGreen,
shadowUrl: leafShadow,
iconSize: [38, 95], // taille de l'icône
shadowSize: [50, 64], // taille de l'ombre
iconAnchor: [22, 94], // point de l'icône correspondant à l'emplacement du marqueur
shadowAnchor: [4, 62], // pareil pour l'ombre
popupAnchor: [-3, -76]
});
render() {
return (
{
console.log(map.getCenter())
// var bounds = map.getBounds()
// console.log(bounds.getCenter())
map.target.on("click", function (e) {
const { lat, lng } = e.latlng;
var marker = L.marker([lat, lng], {icon: L.icon({
iconUrl: leafRed,
shadowUrl: leafShadow,
iconSize: [38, 95], // taille de l'icône
shadowSize: [50, 64], // taille de l'ombre
iconAnchor: [22, 94], // point de l'icône correspondant à l'emplacement du marqueur
shadowAnchor: [4, 62], // pareil pour l'ombre
popupAnchor: [-3, -76]
})} ).addTo(map.target);
marker.bindPopup("Nouveau")
});
}}
>
{this.state.markers.map((position, idx) =>
Un joli popup CSS3. Facilement personnalisable.
)}
);
}
}
export default App;
Est-ce que quelqu'un remarque quelque chose que je fais incorrectement, j'espère avoir de vos nouvelles.