跟踪巴士 GPS 点是否在路线上 - Google 地图 API

Track if a Bus GPS point is on route - Google Maps API

我有一个公共汽车网络的实时 GPS 馈送,他们希望能够跟踪公共汽车是否偏离路线。我可以获得每个巴士服务的巴士站及其站点坐标。巴士站通常靠得很近,使用 Google 地图可以在与巴士路线匹配的站点之间创建一条路线。

我的问题是,最好使用 Google 地图 JavaScript 或网络服务 API 如何检测此 GPS 点是否偏离路线?

是否有比 Google 地图更好的替代品?

感谢所有帮助,谢谢。

我发现了一种实现此目的的方法,使用公交车站的 GPS 位置,您可以使用 Google 地图方向沿着 Google 地图路线创建 waypoints API。然后您可以使用输出结果中的 PolyLine Overview 来查找路线上的每个点。 PolyLine 是压缩的,需要解码才能找到沿途各点的经度和纬度。

这里有详细说明: https://developers.google.com/maps/documentation/utilities/polylinealgorithm

然后,您可以使用 line/route 沿线的点来说明 GPS 标记是否在该区域内,则公交车在途中,如果在该地区外,则公交车已关闭。您可能需要使用 Google 的道路对齐 API 来确保 GPS 点准确。

我希望这对其他人有帮助。

编辑: 澄清一下,使用 Google 地图路线 API 创建路线,这将为您提供 "PolyLine Overview"。这为您提供了沿途的每个点,可以看到 here。使用这些点,您可以在每个点之间创建一个边界框。然后你可以计算路线上的一个点是否在边界框内。

请务必注意,PolyLine Overviews 已编码,如我之前的回答中所述。 Google 制作了一个工具来演示这个解码 here。在 Javascript 我相信有一个内置的库命令来编码和解码。

希望这更清楚。