【问题标题】:Google Maps API V3 retrieving data for with and without trafficGoogle Maps API V3 检索有流量和无流量的数据
【发布时间】:2014-10-02 08:42:31
【问题描述】:

我想访问从一个点到另一个点有交通和没有交通的持续时间(见下图)

我想计算有无流量的延迟。我在 Gogole Maps API v3 中找不到可以为我提供该数据的方法。还是我用其他数据计算出来的?

编辑:
我知道如何计算持续时间。问题是我想获得有交通的持续时间以及没有交通的持续时间(参见我上面提供的图片),以便计算可能的延迟时间。

编辑: 如果我错了,请纠正我,但根据此链接,Google API V3 似乎无法做到这一点 Google maps traffic prediction API V3

有谁知道我如何获得从一个点到另一个点的持续时间?不过,它不一定是由 Google 提供的。

【问题讨论】:

    标签: google-maps


    【解决方案1】:

    你可以用Distance Matrix API做到这一点

    GET 请求 -

    https://maps.googleapis.com/maps/api/distancematrix/json?origins=garching&destinations=hamburg&departure_time=now&key=YOUR_KEY
    

    会给你durationduration_in_traffic的路线-

    {
      "destination_addresses": [
        "Hamburg, Germany"
      ],
      "origin_addresses": [
        "85748 Garching, Germany"
      ],
      "rows": [
        {
          "elements": [
            {
              "distance": {
                "text": "761 km",
                "value": 760831
              },
              "duration": {
                "text": "7 hours 1 min",
                "value": 25242
              },
              "duration_in_traffic": {
                "text": "6 hours 42 mins",
                "value": 24145
              },
              "status": "OK"
            }
          ]
        }
      ],
      "status": "OK"
    }
    

    departure_time 在文档中列为可选参数,但如果您想查看duration_in_traffic 估计值,则它是必需的。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      Google Maps JS API 有一个traffic layer

      您需要在地图中添加交通图层:

      var trafficLayer = new google.maps.TrafficLayer();
      trafficLayer.setMap(map);
      

      这里有一个live example.

      如果要计算持续时间,有a distance matrix API from Google 在 Stackoverflow 的这个问题中,您可以看到 the answer.

      Direction Service 中你需要提供这个字段:

      {
        origin: LatLng | String,
        destination: LatLng | String,
        travelMode: TravelMode,
        transitOptions: TransitOptions,
        unitSystem: UnitSystem,
        durationInTraffic: Boolean, /* this is with traffic or without */
        waypoints[]: DirectionsWaypoint,
        optimizeWaypoints: Boolean,
        provideRouteAlternatives: Boolean,
        avoidHighways: Boolean,
        avoidTolls: Boolean
        region: String
      }
      

      您可以先尝试使用流量并保存持续时间,然后您可以关闭流量选项并保存。所以你可以看到它们之间的区别。

      【讨论】:

      • 感谢您的回答。我知道如何计算持续时间。问题是我想获得有流量的持续时间以及没有流量的持续时间(请参阅我在开幕帖中提供的图片),以计算可能的延迟时间。希望我能提出我的观点。
      • 所以你需要用durationInTraffic: true,然后durationInTraffic: false,写你的回调和选项,但我不确定它是否会给你没有流量的版本。
      • "注意:durationInTraffic 字段现已弃用。以前建议 Google Maps API 高级计划客户指定结果是否应包含考虑当前交通状况的持续时间。您应该现在改用drivingOptions 字段。”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 1970-01-01
      • 2011-07-05
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多