我只想捕捉地图上的点击事件。我要么找到在 v3 上不起作用的 v2 示例,要么在普通传单上工作但在 REACT-leaflet 中不完全工作的非常清晰的示例。react-leaflet 上的文档没有解释这些示例,所以我不知道这里发生了什么,如果有人可以解释一下,这对我来说意义重大。
我的问题是:1-如何在地图上捕捉点击事件,而不是在标记上。这段代码的解释是什么:2-“map.locate”做了什么3-以及locationfound是什么
该示例显然有效,但由于我不明白如何,我无法修改它以满足我的需要。有没有办法更新和扩展文档?我对此感到非常疲倦和沮丧。请帮忙。(代码取自https://react-leaflet.js.org/docs/example-events)
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}>
<Popup>You are here</Popup>
</Marker>
)
}
render(
<MapContainer
center={{ lat: 51.505, lng: -0.09 }}
zoom={13}
scrollWheelZoom={false}>
<TileLayer
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<LocationMarker />
</MapContainer>,
)