微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google API |距离矩阵

如何解决Google API |距离矩阵

我的代码需要帮助。

首先,我的方法是否正确,我使用GoogledistanceMatrix来获取真实的路线距离,而不仅仅是线性距离?

我想使用地理坐标作为起点和终点地址,但它似乎不起作用:

public double CalculateGoogledistance(GeoCoordinate from,GeoCoordinate to) {
  distanceMatrixRequest request = new distanceMatrixRequest();
  request.Key = "****";

  request.Origins = new Location[] {
    new Location(from)
  };
  request.Destinations = new Location[] {
    new Location(to)
  };

  var response = GoogleApi.GoogleMaps.distanceMatrix.Query(request);

  return response.Rows.First().Elements.First().distance.Value;
}

解决方法

首先,您在使用Google Maps API服务时似乎正在使用第三方库/存储库,因此我建议您仅遵循它们的正式文档,在回答您的问题时将提供这些文档。

如他们的official documentation中所述,即使它是可选的,默认的trafic_model还是bestguess,这意味着结果将基于对行进时间的最佳估计。了解历史路况和实时路况。您可以了解有关其他流量模型可选参数here的更多信息。

现在,关于获得“真实路线距离”,您仅指的是实时结果,不包括历史流量。为此,您需要按照文档中的示例所示,指定departureTime到现在:

drivingOptions: {
    departureTime: new Date(Date.now() + N),// for the time N milliseconds from now.
    trafficModel: 'bestguess'
}

如您所见,距离矩阵API就是这样工作的。

注意:出发时间和交通模型也适用于Directions API。

有关Distance Matrix API Web服务的Web服务版本,请参见此链接。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。