从滚动的传单地图中获取真实坐标
Get true coordinates from scrolled leaflet map
我正在使用 React Leaflet。当用户点击地图时,我会检索坐标并在上面设置一个标记。一切都在地图上工作,但地图用作检索设置位置的天气数据的方式。
说明
这是一张图片,可能有助于说明我面临的问题
在顶部,我为每个 "piece" 地球添加了经度值。
有一个"true"经度为-0.09°的标记
在左边的地球上,相同的位置将 return -360.09° 经度
在正确的地球上,相同的位置将 return 359.91° 经度
我用这段代码检索纬度和经度:
setMarker = e => {
this.props.updateLocation({
lat: e.latlng.lat,
lng: e.latlng.lng,
})
}
问题
我面临的问题是,如果我将经度值传递给天气 API,那超出了允许的范围 (> -180° && < 180°),它不会 return 任何东西,因为经度当然不存在。
有没有办法return获取"true"经纬度?
如果这不存在,我该如何禁用地图滚动(只允许出现一个地球)?或者只允许在第一个地球内放置一个标记?我不确定什么是最好的方法,传单文档让我感到困惑,因为我不理解一些术语。
经过更多搜索,我发现了一个内置方法,它完全符合我的要求。
在这个 GitHub 问题上找到它 https://github.com/Leaflet/Leaflet/issues/1885#issuecomment-91395167
要通过鼠标点击获得实际的纬度和经度,无论您点击哪个地球,都可以在 latlng 上使用 wrap() 方法:
event.latlng.wrap()
这个returns一个对象,例如
{
lat: 63.51385990617828,
lng: 173.671875
}
我正在使用 React Leaflet。当用户点击地图时,我会检索坐标并在上面设置一个标记。一切都在地图上工作,但地图用作检索设置位置的天气数据的方式。
说明
这是一张图片,可能有助于说明我面临的问题
在顶部,我为每个 "piece" 地球添加了经度值。
有一个"true"经度为-0.09°的标记
在左边的地球上,相同的位置将 return -360.09° 经度
在正确的地球上,相同的位置将 return 359.91° 经度
我用这段代码检索纬度和经度:
setMarker = e => {
this.props.updateLocation({
lat: e.latlng.lat,
lng: e.latlng.lng,
})
}
问题
我面临的问题是,如果我将经度值传递给天气 API,那超出了允许的范围 (> -180° && < 180°),它不会 return 任何东西,因为经度当然不存在。
有没有办法return获取"true"经纬度?
如果这不存在,我该如何禁用地图滚动(只允许出现一个地球)?或者只允许在第一个地球内放置一个标记?我不确定什么是最好的方法,传单文档让我感到困惑,因为我不理解一些术语。
经过更多搜索,我发现了一个内置方法,它完全符合我的要求。
在这个 GitHub 问题上找到它 https://github.com/Leaflet/Leaflet/issues/1885#issuecomment-91395167
要通过鼠标点击获得实际的纬度和经度,无论您点击哪个地球,都可以在 latlng 上使用 wrap() 方法:
event.latlng.wrap()
这个returns一个对象,例如
{
lat: 63.51385990617828,
lng: 173.671875
}