Google maps api 3 谷歌地图API-检测穿越州际线的时间,并计算每个州的行驶距离
我使用谷歌地图api来计算我公司的车辆在一段时间内在每个州行驶的英里数。对于这段时间内的行程,用户将在地图上创建路线,程序应该能够生成一些输出,如:“马里兰:100英里,弗吉尼亚:500英里”,等等Google maps api 3 谷歌地图API-检测穿越州际线的时间,并计算每个州的行驶距离,google-maps-api-3,Google Maps Api 3,我使用谷歌地图api来计算我公司的车辆在一段时间内在每个州行驶的英里数。对于这段时间内的行程,用户将在地图上创建路线,程序应该能够生成一些输出,如:“马里兰:100英里,弗吉尼亚:500英里”,等等 我很确定我可以通过发送DirectionsService请求并迭代response.routes[I].legs[I].steps[I]来完成.patharray,但不幸的是,这需要在数千个LatLngs上发送Geocoder请求,这很快就超出了我的配额。有没有更好的方法来实现这一点?我真的只需要检
我很确定我可以通过发送
DirectionsService
请求并迭代response.routes[I].legs[I].steps[I]来完成.path
array,但不幸的是,这需要在数千个LatLng
s上发送Geocoder
请求,这很快就超出了我的配额。有没有更好的方法来实现这一点?我真的只需要检测路线何时跨越州界线并将其分成不同的路线,但我不知道如何使用在路径
数组上进行迭代。查看面板中的方向文本,看起来文本“Entering”出现在跨越州边界的步骤中。- 进入新泽西州
- 进入特拉华州
- 进入马里兰州
- 进入哥伦比亚特区
- 下载US.zip数据集并安装在服务器(或用于开发的本地主机)上
- 编写一个专门的(RESTful)web服务(例如,在PHP中),它完成所有跨越calc的州线,并返回每个州的里程的JSON编码列表
很抱歉,我无法提供更多帮助,但这可能会给您一条前进的道路。如果您的路径数组中有1000个元素,并且您正在进行二进制搜索(而不是迭代),则只需调用12次LatLng即可确定路径跨越边界的位置
当您超过配额时,您会得到什么样的反馈?如果是异常返回,您总是可以在收到配额回推时等待3.5秒。如果您的路径数组中有1000个元素,并且您正在进行二进制搜索(而不是迭代),只需12次调用LatLng即可确定路径跨越边界的位置。您是在寻找一种解决方案,该解决方案涉及最小化必须检查的路径数组中的项目数,还是在API中寻找一种解决方案,该解决方案将为您找到边界?一个简单的测试路径生成了900多个LatLng对象,一个nd服务器只响应了四个请求。一条经过多个状态的路由很容易生成数万个Latlng;我认为没有任何方法可以充分减少请求负载。实际上,我能够通过将您的二进制搜索建议与3.5秒超时结合起来使其正常工作(一个永恒,但我现在就要我能得到的)。将其作为答案发布,我将接受。可能重复您提到的内容,州多边形可能是一种方式。但是,它们的设置将非常繁琐,因此在此期间,我必须让用户手动放置路线穿过州线的航路点。这是一个例外返回,但配额很快就会达到,因此f通常,我更喜欢将查询分隔开,以获得稳定、一致的流。我已将延迟减少到3秒,在再次尝试之前,当达到配额时,会额外超时3秒。与我尝试过的其他时间组合相比,这是最容易忍受的。但您的二进制搜索建议非常关键--非常有效。Tha你能给我们举个例子吗?