我正在为内部工具开发概念证明/原型。基本前提是,我们有几个设备上有 GPS,它们向我在云环境中构建的 java api 报告它们的位置(具有 NMEA 格式的典型 GPS 精度)。
[Device GPS] -> [Sends Cellular GSM request to API] -> [API queries Google
Roads] -> [Google Roads returns snapped coordinates] -> [App maps received
coordinates]
java API 获取报告的坐标,本质上向 Google Maps Roads API 发送一个请求并使用该Snap-to-road功能(这实际上将采用您给它的任何点以及一个可选的坐标路径,并给您返回本质上的坐标在它认为你正在旅行的路径上)。这很好,但有一个挫折。
它是昂贵的。
对于每隔几秒报告一次位置的两台设备(类似于 Uber 或 Lyft 可能会这样做),运行此应用程序的成本基本上使其成为沉没成本。24,000 个查询将花费您 300-500 美元。对于一台设备。
我们已经做了一些努力,只在工作时间接受对 API 的请求——但这仍然只是表面上的。
我相当有能力编写我需要的任何东西(至少我相信),或者可以找到图书馆来做我认为需要做的事情——但我不知道该采取什么办法。我正在考虑在另一个表中缓存请求并首先查询它,但我不确定这将是多么可靠。
有没有人实施过这样的解决方案或类似的东西?在我破产这个项目之前,我只需要支付我发送到谷歌地图 API 的请求数量。