【问题标题】:Avoid some coordinates in routes using Google Directions API Android使用 Google Directions API Android 避免路线中的某些坐标
【发布时间】:2015-10-07 09:49:27
【问题描述】:

我想在使用路线 API 时避免一些坐标。我已阅读以下博客 https://code.google.com/p/gmaps-api-issues/issues/detail?id=214

如果我想避免特定坐标,这可以确保 Directions API 不允许。

然后我尝试使用航路点参数(这允许我们获取包含特定坐标的路线)并考虑相同的来源和目的地:

1) 先获取路线,不添加航点

https://maps.googleapis.com/maps/api/directions/json?origin=25.2958001,55.436142&destination=24.914744,54.968565&alternatives=true&mode=driving&key=MYKEY

2)通过添加航点(我想避免的坐标)获取路线

https://maps.googleapis.com/maps/api/directions/json?origin=25.2958001,55.436142&destination=24.914744,54.968565&waypoints=25.244456,55.404643&alternatives=true&mode=driving&key=MYKEY

3) 然后比较结果并尝试从第一步中删除路线,其中包括第二步。

但在这种情况下,第一步返回多个从同一坐标传递的结果(我想避免),并且结果不包含在第二步中。

我受够了这个。我无论如何都需要解决这个问题。

谁能帮我解决这个问题?或者其他一些可以帮助我解决问题的建议或计算?

谢谢,

【问题讨论】:

    标签: android google-maps google-maps-api-3 google-directions-api


    【解决方案1】:

    这个问题不是很清楚,但我会尝试提供一种更好的方法来处理这种情况。

    由于路点在路点参数中指定并且可以包含一个或多个地址,我建议使用名称而不是用竖线 (|) 分隔的地理坐标。这确实会降低获得错误结果的风险。

    在它的顶部,您可以将 optimize:true 作为航点参数中的第一个参数,以允许路线服务通过以更有效的顺序重新排列航点来优化提供的路线。

    这是一个例子。

    https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&key=API_KEY
    

    更多详情请参考official Google documentation

    【讨论】:

      【解决方案2】:

      Google 地图尚不支持此功能,有一些要求添加它,但这里的地图还有另一种执行此功能的方法。

      https://developer.here.com/documentation/routing/topics/example-route-avoiding-an-area.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-22
        • 1970-01-01
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        • 2013-10-17
        相关资源
        最近更新 更多