我正在使用Google Maps API计算一段时间内我的公司的车辆在每个州行驶的里程数。对于这段时间内的旅行,用户将在地图上创建路线,程序应能够生成一些输出,例如:“马里兰:100英里,弗吉尼亚:500英里”,等等。

我很确定我可以通过发送DirectionsService请求并遍历response.routes[i].legs[i].steps[i].path数组来做到这一点,但是不幸的是,这需要在数千个Geocoder上发送LatLng请求,这很快使我超出了配额。有没有更好的方法来解决这个问题?我真的只需要检测路线何时越过状态线并将其分成单独的路线,但是我不知道如果不遍历path数组怎么办。

最佳答案

如果您的路径数组中有1000个元素,并且您正在进行二进制搜索(而不是迭代),则只需对LatLng进行12次调用,即可确定路径越过边界的位置。

超过配额后会得到什么样的反馈?如果是异常返回,则仅在收到配额推回后,您才可以总是等待3.5秒。

09-18 00:22