我有一个公交网络的实时GPS馈送,他们希望能够跟踪公交车是否偏离路线。我可以获取每个巴士服务的巴士站及其停靠坐标。公交车站通常非常靠近,使用谷歌地图,它可以在站点之间创建与公交路线路径匹配的路线。
我的问题是,最好使用Google Maps JavaScript或Web Services API,我将如何检测此GPS点是否偏离路线?
如果有更好的谷歌地图替代品?
感谢所有的帮助,谢谢。
我发现了一种实现这一目标的方法,使用公交车站的GPS位置,您可以使用Google Maps Directions API沿着Google地图路线创建航点。然后,您可以使用输出结果中的折线概览来查找路径上的每个点。折线被压缩,需要解码以查找沿途点的经度和纬度。
详见此处: https://developers.google.com/maps/documentation/utilities/polylinealgorithm
然后,您可以使用沿线/路线的点来说明 GPS 标记是否在区域内,则巴士正在途中,如果巴士外关闭。您可能需要使用 Google 的 Snap to road API 来确保 GPS 点准确无误。
我希望这可以帮助其他人。
编辑: 为了澄清,请使用Google地图路线API创建路线,这将为您提供"折线概述"。这为您提供了沿途的每个点,可以在这里看到。使用这些点,您可以在每个点之间创建一个边界框。然后,您可以计算路径上的点是否位于边界框内。
重要的是要注意,折线概述是编码的,如我之前的回答中所述。谷歌已经制作了一个工具来演示这种解码。在Javascript中,我相信有一个内置的库命令来编码和解码。
希望这更清楚。