地图上的汽车跟踪

Car tracking on map

我有一个网页,上面有一张地图。我正在使用 Leaflet maps,编程是在 javascript 中完成的。每 10-15 秒我收到一个 json,里面有 N(最大 N=3000)辆汽车的 gps 坐标。所以我的目标是在地图上显示这些汽车,并让它们在城市街道上流畅地移动。

我现在做了什么: 每辆车在地图上表示为 Leaflet moving marker。每次我收到新坐标时,我都会将每个标记从它的旧位置移动到新位置,只需编写如下内容:listOfCars[i].marker.moveTo(coord, 10000); 它只是在新点和旧点之间绘制一条看不见的线,并沿着这条线移动标记。这里我有一个问题:
我应该如何处理道路转弯?当汽车即将(例如)向右转时,它会发送坐标,10 秒后(汽车转弯并继续运动)并再次发送坐标。所以在地图上,标记从旧点(汽车即将转弯时)直接移动到新点(我们在汽车转弯并向前移动一点后得到的),穿过房屋、公园和其他汽车刚刚经过的地方得不到(就像直角三角形的斜边)。我的问题:

感谢帮助!

据我所知,您在 google 地图 api 上寻找的东西叫做 "Snap To Road",但它需要付出一定的代价,因为它是高级功能的一部分。

https://developers.google.com/maps/documentation/roads/snap#requests

否则你将不得不加快你的 GPS 点来避开那些奇怪的角落。

编辑: 要优化您的地图,请不要显示 5000 个点。相反,使用折线,偶尔只显示一个点。你只是想显示太多点数。

我忘了提到,在许多 gps 设备上,您可以使用角度作为触发器来发送另一个位置,而不仅仅是使用普通的 x 秒。所以假设你告诉你的 gps 设备每 15 秒触发一次,如果设备转动 30 度或更多则触发另一次,这应该会让你的角度更清晰。