【问题标题】:Understanding GoogleMaps Directions API JSON object了解 GoogleMaps Directions API JSON 对象
【发布时间】:2018-03-11 02:37:27
【问题描述】:

我有 google Maps API 方向 json 对象:

here

我想在用户到达某个位置时显示来自“步骤”jsonArray 的说明。 在“STEPS”JsonArray 内部,有一个 startLocation 和 endLocation 对象。

我知道如何获取当前位置的纬度和经度以及路线的 JSONData。 我想检查我当前的位置是否与“Steps”中的 startLocation 匹配

从“Steps”JSONArray 中显示所有相应的指令(json 对象,例如持续时间、距离)。

但我不知道是否将我当前的位置与 StartLocation 或 endLocation 进行比较。

那么我应该将我的 currentLocation 与什么进行比较?

  1. 起始位置
  2. 结束位置

【问题讨论】:

    标签: arrays json google-maps google-maps-api-3 google-directions-api


    【解决方案1】:

    所以你有 100 步。如果您在第 0 步,您希望显示全部 100 步。如果您在第 1 步,那么您希望显示第 1 到 100 步,依此类推。

    只需检查边缘情况: - 如果您处于 json 响应的最开始,那么与当前步骤的最后一点进行比较是没有意义的 - 如果您在最后一步,如果您的位置与endLocation 匹配,您应该不会看到更多说明,因此只有当您的位置与最后一步的startLocation 匹配时才显示最后一步。

    作为上述推论,如果您的位置与第 N 步的startLocation 匹配,则显示从 N 到 100 的步数。

    这就是说,如果你的位置与第 N 步的endLocation 匹配,则显示从 N+1 到 100 的步数。

    这里有最后一条建议。当您将当前位置与 json 响应位置进行比较时,修剪或舍入坐标。超过第六位数字,您可以肯定地说它是同一个地方。我见过一些情况,其中一个步骤的 endLocation 与下一个步骤的 startLocation 不匹配。事情发生了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多