Javascript 是否有任何方法可以在传单上以恒定的宽度/笔划(以米为单位)而不是以像素为单位绘制路径(多段线)?

Javascript 是否有任何方法可以在传单上以恒定的宽度/笔划(以米为单位)而不是以像素为单位绘制路径(多段线)?,javascript,maps,leaflet,polyline,Javascript,Maps,Leaflet,Polyline,有人知道在传单上以米为单位绘制等宽多段线的工作方法吗 我找不到任何有效的解决办法。关于传单路径的文档只有以像素为单位的笔划。没有任何类似的方法,但是知道屏幕上像素的密度,您可以获得1米所需的像素数。您的地图平铺提供商可能会提供所有缩放级别的米/像素数据。OpenStreetMaps示例: 然后向zoomend添加一个事件,该事件根据当前缩放级别缩放多段线的笔划宽度 我刚刚发布了传单走廊插件,它完全符合您的要求:绘制一条宽度固定为米的多段线 用法: var corridor = L.corri

有人知道在传单上以米为单位绘制等宽多段线的工作方法吗


我找不到任何有效的解决办法。关于传单路径的文档只有以像素为单位的笔划。

没有任何类似的方法,但是知道屏幕上像素的密度,您可以获得1米所需的像素数。

您的地图平铺提供商可能会提供所有缩放级别的米/像素数据。OpenStreetMaps示例:


然后向zoomend添加一个事件,该事件根据当前缩放级别缩放多段线的笔划宽度

我刚刚发布了
传单走廊
插件,它完全符合您的要求:绘制一条宽度固定为米的多段线

用法:

var corridor = L.corridor([/*Array of L.latlng*/], widthInMeters);
map.addLayer(corridor);

这听起来是个好主意,但我不知道如何获得屏幕上像素的命运——我认为这也是基于地图缩放级别的。我还有另一个想法,就是使用许多以米为半径的传单圆来绘制多段线。但我认为这可能是一个问题,因为地图上有大量的圆圈。@user3476099最好是像你的计算机那样“以像素为单位思考”。难道你不能仅仅添加一个刻度让用户知道“真实”距离吗?DPI通常为96。我认为您要求的是所谓的缓冲区。尝试检查插件(没有亲自尝试过)。演示不起作用,因为它无法加载传单。你能更新传单的链接吗?@user502144Done@Mikhail这看起来棒极了。我很想看到这一点融入到宣传手册中R@Lee88如果这是你能做的,请做我的客人:)我不知道R集成。