可以通过以下步骤实现:
MapContainer
组件来创建地图容器,并使用TileLayer
组件来添加地图图层。import { MapContainer, TileLayer } from 'react-leaflet';
function MyMap() {
return (
<MapContainer center={[51.505, -0.09]} zoom={13} style={{ height: '400px', width: '100%' }}>
<TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" />
</MapContainer>
);
}
export default MyMap;
useMapEvents
钩子函数来实现这一点,并在事件处理函数中获取鼠标的经纬度。import { MapContainer, TileLayer, useMapEvents } from 'react-leaflet';
function MyMap() {
const handleMouseMove = (e) => {
const { lat, lng } = e.latlng;
console.log(`经度:${lng.toFixed(6)}, 纬度:${lat.toFixed(6)}`);
// 在这里可以进行进一步的处理,如更新状态或调用其他函数
};
useMapEvents({
mousemove: handleMouseMove,
});
return (
<MapContainer center={[51.505, -0.09]} zoom={13} style={{ height: '400px', width: '100%' }}>
<TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" />
</MapContainer>
);
}
export default MyMap;
在上面的代码中,我们使用useMapEvents
钩子函数来监听mousemove
事件,并将事件处理函数handleMouseMove
传递给它。在事件处理函数中,我们可以通过e.latlng
获取鼠标的经纬度,并进行进一步的处理。
这是一个基本的示例,你可以根据自己的需求进行进一步的定制和扩展。关于react-leaflet的更多信息和使用方法,你可以参考腾讯云的Leaflet地图库产品:https://cloud.tencent.com/document/product/882/46025。
领取专属 10元无门槛券
手把手带您无忧上云