我怎样才能放下一个标记并在该半径内获得一组滞后

How can I drop a marker and get a set of lag long within that radius

我的标记当前可以使用 dragend 的事件侦听器进行拖动。我能够得到那个特定点的滞后和长,但我想得到北、南、东和西坐标。 我认为 getBound() 是我需要的,但我不知道如何在函数式 React 中调用它。

非常感谢任何帮助。

import React from 'react';
import { MapContainer, TileLayer, Marker, Popup } from 'react-leaflet'
import "./Map.css"


function Map({children}) {


  return (
      <>
      {children}
      <MapContainer center={[40.678177, -73.944160]} zoom={13} scrollWheelZoom={false}>
        <TileLayer
          attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
          url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
        />
        <Marker 
          eventHandlers={{
            dragend : (e)=>{
              console.log(e)}
          }}
          draggable={true}
          position={[40.678177, -73.944160]}
          >
          <Popup>
            test
          </Popup>
        </Marker>
      </MapContainer>
      </>
  )
};

export default Map;

latlng 点没有界限。但是可以用leaflet-geometryutil's destination function获取东西南北一定距离的点:

import L from 'leaflet';
import 'leaflet-geometryutil';

const distance = 100 // in meters


// within your component:

eventHandlers={{
  dragend : (e) => {
    const n = L.GeometryUtil.destination(e.latlng, 0, distance)
    const s = L.GeometryUtil.destination(e.latlng, 180, distance)
    const e = L.GeometryUtil.destination(e.latlng, 90, distance)
    const w = L.GeometryUtil.destination(e.latlng, 270, distance)
  }}

现在你有正北、正南、正东和正西的点,距离 dragend 事件发生的地方正好 distance 米。