Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传单获取具有特定起点和终点的子多段线_Javascript_Leaflet_Polyline - Fatal编程技术网

Javascript 传单获取具有特定起点和终点的子多段线

Javascript 传单获取具有特定起点和终点的子多段线,javascript,leaflet,polyline,Javascript,Leaflet,Polyline,我想获得给定多段线的“子多段线”,该多段线由某个起点和终点(以米为单位)确定 例如,我有一条500米的多段线(使用30个坐标构建(在相同的空间中不分开)),我想用不同的颜色为200米和300米之间的线上色。是否可以使用传单功能?在此处查看LineStringSelect插件: 使用演示(在多段线上的两个不同位置单击): 在此处查看LineStringSelect插件: 使用演示(在多段线上的两个不同位置单击): 所以基本上你是在问“如果我有一条多段线和一个距离值,那么沿着多段线的点到线的起点的距

我想获得给定多段线的“子多段线”,该多段线由某个起点和终点(以米为单位)确定


例如,我有一条500米的多段线(使用30个坐标构建(在相同的空间中不分开)),我想用不同的颜色为200米和300米之间的线上色。是否可以使用传单功能?

在此处查看LineStringSelect插件:

使用演示(在多段线上的两个不同位置单击):


在此处查看LineStringSelect插件:

使用演示(在多段线上的两个不同位置单击):


所以基本上你是在问“如果我有一条多段线和一个距离值,那么沿着多段线的点到线的起点的距离是多少?”

该算法已被多次介绍,例如:

  • ,
算法始终相同:将多段线/线串分割为多段,测量每段的长度,定位点,在点所在的段中应用直接插值

请记住,二维笛卡尔平面中的几何体与大地水准面表面中的几何体不同,尤其是在测量距离时。对操纵测地线及其方法做一些研究


对于您的问题«是否可以使用传单功能?»,答案是«,传单没有实现此算法»。对于您来说,最简单的方法应该是阅读答案中提到的传单插件的源代码,或者使用Turf库中的
along()
方法。

因此,基本上您会问“如果我有一条多段线和一个距离值,那么多段线上与线的起点具有所需长度距离的点是什么?”?

该算法已被多次介绍,例如:

  • ,
算法始终相同:将多段线/线串分割为多段,测量每段的长度,定位点,在点所在的段中应用直接插值

请记住,二维笛卡尔平面中的几何体与大地水准面表面中的几何体不同,尤其是在测量距离时。对操纵测地线及其方法做一些研究


对于您的问题«是否可以使用传单功能?»,答案是«,传单没有实现此算法»。对于您来说,最简单的方法应该是阅读答案中提到的传单插件的源代码,或者使用Turf库中的
along()
方法。

非常感谢您的回复!这看起来非常好,但似乎仅限于用户操作和选择。。你知道如何在没有用户输入的情况下使用带有“固定”值的选择吗?@David很抱歉回答得太晚了。不直接,但代码将在那里转换2点为一系列点沿给定的多段线。非常感谢您的答复!这看起来非常好,但似乎仅限于用户操作和选择。。你知道如何在没有用户输入的情况下使用带有“固定”值的选择吗?@David很抱歉回答得太晚了。不是直接的,但代码将包含在其中,用于沿给定多段线将2个点转换为一系列点。