我正在构建用于提供路线的Google地图应用类型的自定义视图,但我需要将特定道路或路段列入黑名单。我不是说只是避开高速公路或收费公路。我一直在浏览谷歌地图和Mapquest API,但还没有找到任何有用的东西。
最初,我只是想手动将我不想驾驶的特定道路列入黑名单,但最终还是希望有某种自动检测或建议。
是否有内置功能支持在Google地图或Mapquest中将特定道路列入黑名单?或者有没有任何已知的方法来一起破解它?
答案 0 :(得分:5)
Google Maps API问题跟踪器上有关于此问题的公开功能请求:
此问题已得到Google的承认,但仍然保持开放。您可能需要对此问题进行投票,以便向Google发出此功能的需求。
答案 1 :(得分:5)
如另一个答案所述,Google Maps API无法直接使用此功能。但是,我一直在考虑这个问题,并在“黑客攻击”类别中提出了一些解决方法。这两个都依赖于Google Maps API的第3版。
在请求路线时,请将provideRouteAlternatives设置为true。循环选择。检查该路线是否通过您的某个路障。如果是,请丢弃该路线并尝试下一条路线。
对于每个包版广告,请预先设置一个或多个备用点以进行路由。例如,如果要避开某个桥,请标识要使用的一个或多个备用桥。现在,如果路线经过您的某个障碍物,请将路障的替代点添加为航点(停留设置为false)。现在再次运行指示,他们应该避开包版并使用备用。
这些方法都不是最佳的,但根据您的情况,它们可能适合您。
答案 2 :(得分:4)
我认为mapquest允许您这样做,请参阅http://www.mapquestapi.com/directions/#output 并查看mustAvoidLinkId和tryAvoidLinkId的部分
答案 3 :(得分:0)
我尝试了所有的google maps替代品,但没有一个允许定义除Here maps之外的避免某些道路的道路。我对这个解决方案感到满意,它解决了我所有的问题https://developer.here.com/documentation/routing/topics/route-avoiding-links-and-areas.html
您不需要将整条道路都列入黑名单,您可以只将这条道路的一部分列入黑名单,并且地图将尽可能避免出现这种情况。