[英]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.