【问题标题】:Google Directions API谷歌路线 API
【发布时间】:2013-07-30 07:00:49
【问题描述】:

在 JSON 输出中,“步骤”中有一个“机动”字段。在这个“左转”、“右转”、“微左转”等。例子是here

在哪里可以找到“机动”字段的定义以及可能值的列表?没有相关说明here

提前致谢

【问题讨论】:

标签: directions google-directions-api


【解决方案1】:

这是懒人的视觉效果:)

不敢相信 Google 还没有记录这一点...

ma​​neuver 包含为当前步骤采取的动作(左转、合并、直行等)。

此字段用于确定要显示哪个图标,并且可以包含以下值之一:

【讨论】:

    【解决方案2】:

    UPD

    信不信由你,但最终他们记录了它!请see here


    根据this gmaps-api-issue我认为google不急于记录这部分api:(

    但我至少可以通过以下方式帮助解决这个问题……“机动”字段是对步骤操作的简短描述。我想谷歌的脚本使用它来将 css 类应用于direction panel。我注意到每个步骤的图标取决于 css 类“.adp-{maneuver_name}”。面板的 Css 文件包含 18 个带有该掩码的类,我已经提取了操作列表:

    • 急转左
    • 右转
    • 右转
    • 合并
    • 回旋处左
    • 右环岛
    • 左转
    • 稍微左转
    • 左转
    • 右斜坡
    • 右转
    • 右叉
    • 左叉
    • 轮渡火车
    • 右转
    • 左斜坡
    • 渡轮

    在工作期间,我发现了“maneuver”字段的两个附加值,它们没有 css 类:

    • 左转
    • 保持正确

    我不能保证这个列表的完整性,但是我在我的项目中使用了这个列表并且它可以正常工作。

    【讨论】:

      【解决方案3】:

      当您使用路线服务时,谷歌地图会在您的 <head> 中注入一些 css

      截至 2015 年 6 月,我的代码如下。谷歌似乎只下载显示路线所需的内容,因此,您的结果可能会有所不同。

      底部的背景图片文件:

      .adp-substep .adp-stepicon .adp-maneuver {
              background-size: 19px 630px;
              position: absolute;
              left: 0;
              width: 16px;
              height: 16px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-ferry {
              background-position: 0 -614px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-ferry-train {
              background-position: 0 -566px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-merge {
              background-position: 0 -143px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-straight {
              background-position: 0 -534px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-fork-left {
              background-position: 0 -550px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-ramp-left {
              background-position: 0 -598px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-roundabout-left {
              background-position: 0 -197px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-turn-left {
              background-position: 0 -413px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-turn-sharp-left {
              background-position: 0 0
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-turn-slight-left {
              background-position: 0 -378px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-uturn-left {
              background-position: 0 -305px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-fork-right {
              background-position: 0 -499px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-ramp-right {
              background-position: 0 -429px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-roundabout-right {
              background-position: 0 -232px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-turn-right {
              background-position: 0 -483px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-turn-sharp-right {
              background-position: 0 -582px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-turn-slight-right {
              background-position: 0 -51px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver.adp-uturn-right {
              background-position: 0 -35px
          }
      
          .adp-substep .adp-stepicon .adp-maneuver {
              background-image: url(http://maps.gstatic.com/mapfiles/api-3/images/maneuvers.png);
          }
      

      【讨论】:

        【解决方案4】:

        Maneuver 包含为当前步骤执行的操作(左转、合并、直行等)。此字段用于确定要显示哪个图标,并且可以包含以下值之一:turn-slight-left, turn-sharp-left, uturn-left, turn-left, turn-slight-right, turn-sharp-右,右转,右转,直,左坡,右坡,合并,左叉,右叉,渡轮,轮渡火车,左环岛,右环岛。此列表中的值可能会发生变化

        以下链接将帮助您找到所有图片 https://github.com/opentripplanner/OpenTripPlanner/tree/master/src/client/images/directions

        【讨论】:

        • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
        • 检查一下@naththedeveloper
        【解决方案5】:

        看看他们的 SDK

        https://github.com/googlemaps/google-maps-services-js/blob/master/src/common.ts 1132 行

        export enum Maneuver {
            turn_slight_left = "turn-slight-left",
            turn_sharp_left = "turn-sharp-left",
            uturn_left = "uturn-left",
            turn_left = "turn-left",
            turn_slight_right = "turn-slight-right",
            turn_sharp_right = "turn-sharp-right",
            uturn_right = "uturn-right",
            turn_right = "turn-right",
            straight = "straight",
            ramp_left = "ramp-left",
            ramp_right = "ramp-right",
            merge = "merge",
            fork_left = "fork-left",
            fork_right = "fork-right",
            ferry = "ferry",
            ferry_train = "ferry-train",
            roundabout_left = "roundabout-left",
            roundabout_right = "roundabout-right"
        }
        

        【讨论】:

          猜你喜欢
          • 2016-08-28
          • 2012-12-29
          • 2016-06-13
          • 1970-01-01
          • 1970-01-01
          • 2012-11-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多