Leaflet 从滚动传单地图获取真实坐标

Leaflet 从滚动传单地图获取真实坐标,leaflet,react-leaflet,Leaflet,React Leaflet,我在用传单。当用户单击地图时,我检索坐标并在其上设置标记。地图上的一切都可以工作,但地图是用来检索设定位置的天气数据的 解释 下面的图片可能有助于说明我所面临的问题 在顶部,我为每一块地球添加了经度值 有一个标记的“真实”经度为-0.09° 在左地球上,相同的位置将返回-360.09°经度 在右地球上,同一位置将返回359.91°经度 我使用以下代码检索纬度和经度: setMarker = e => { this.props.updateLocation({ lat:

我在用传单。当用户单击地图时,我检索坐标并在其上设置标记。地图上的一切都可以工作,但地图是用来检索设定位置的天气数据的

解释

下面的图片可能有助于说明我所面临的问题

在顶部,我为每一块地球添加了经度值

有一个标记的“真实”经度为-0.09°

在左地球上,相同的位置将返回-360.09°经度

在右地球上,同一位置将返回359.91°经度

我使用以下代码检索纬度和经度:

setMarker = e => {
    this.props.updateLocation({
      lat: e.latlng.lat,
      lng: e.latlng.lng,
    })
}
问题

我面临的问题是,如果我将超出允许范围(>-180°&&&<180°)的经度值传递给天气API,它不会返回任何内容,因为经度当然不存在

有没有返回“真实”纬度和经度的方法


如果这不存在,我如何禁用地图滚动(只允许一个地球出现)?还是只允许在第一个地球内部放置一个标记?我不确定什么是最好的方法,传单文档让我感到困惑,因为我不理解其中的一些术语。

经过更多的搜索,我找到了一种内置方法,它完全符合我的要求

在这个GitHub问题上找到了它

要通过鼠标单击获得实际纬度和经度,无论您在哪个地球上单击,都可以在latlng上使用wrap()方法:

event.latlng.wrap()

这将返回一个对象,例如

{
  lat: 63.51385990617828,
  lng: 173.671875
}