繁体   English   中英

如何在传单中对LatLng pointList进行排序

[英]How to sort a LatLng pointList in leaflet

我有一个pointList如下

var pointList=[
new L.LatLng(lat1,lon1),
new L.LatLng(lat2,lon2),
new L.LatLng(lat3,lon3),
new L.LatLng(lat4,lon4),
new L.LatLng(lat5,lon5),
new L.LatLng(lat6,lon6),
new L.LatLng(lat7,lon7)
];

我想使用这些点绘制多段线。 我正在使用以下代码绘制折线

L.Polyline(pointList, {
    color: color,
    weight: 10,
    lineCap:"square",
    lineJoin:"bevel",
    opacity: 0.6,
    smoothFactor: 1
    });

但是我看到多条折线从一个点到另一个点。 看起来很奇怪。 参见下图。 折线

我想如果我可以对点进行排序,那么我只能得到一条线,而不是多条线。 您能告诉我如何对这些点进行排序吗? 还是有一种简单的方法来绘制折线而不是多条分歧线?

我附上jsfiddle ,为您提供我想做的事情。 从点列表中删除第一个条目,并将其移到底部。 这条线然后看起来逐渐进展。 我的目标就是这样。

折线是在您传递的点与传递它们的顺序之间构造的。

从您发布的图像中,我想您正在尝试可视化某些物体(如汽车)的痕迹。 您应该具有某种时间戳或增量标识符,可以用来对这些点进行排序。

否则,您可以编写一个简单的算法,该算法从第一个点开始,计算到所有其他点的距离,然后选择最接近的一个,然后将其添加为第二个点,依此类推。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM