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