您好,我想加载带有地理位置坐标的地图。现在,我将地图加载到定义的中心,当 onClick 事件发生时,视图设置为地理定位位置。我只是希望在我第一次加载地图时发生这种情况。我的代码如下:
...
const Maps = () => {
// visitor geoLocalisation on the Map
function LocationMarker() {
const [position, setPosition] = useState(null);
const map = useMapEvents({
click() {
map.locate();
},
locationfound(e) {
setPosition(e.latlng);
map.flyTo(e.latlng, map.getZoom());
},
});
return position === null ? null : (
<Marker
position={position}
icon={visitorIcon}
>
<Popup>You are here</Popup>
</Marker>
);
}
return (
<MapContainer
center={[48.856614, 2.3522219]}
zoom={13}
scrollWheelZoom
>
<TileLayer
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<LocationMarker />
</MapContainer>
);
}