我正在尝试通过两组纬度/经度坐标之间的流量获取旅行时间。我可以调用Google Distance Matrix API,但我的旅行时间没有流量。我读过的API说明使用了一个名为departure_time的参数。以下是摘录:
“ departure_time指定所需的出发时间为自UTC时间1970年1月1日午夜起的秒数。出发时间可由Maps for Business客户指定,以指定在考虑当前交通状况时接收行程持续时间的出发时间。 departure_time必须设置在当前时间的几分钟内。“
我发现这个网站给了我那个时间:epochconverter
但是我每次都会得到相同的旅行时间。这是一个示例请求,需要更新departure_time参数(不重要)。
总是返回15分钟。
使用“maps dot google dot com”时,如果考虑到流量,则会返回19分钟的旅行时间。
如果有人可以通过距离矩阵API获取流量来帮助我获得旅行时间,那将非常感激。
答案 0 :(得分:4)
无需营业执照,只需启用Google距离矩阵的https://console.developers.google.com/项目中的API密钥即可。 对于谷歌地图上的结果,使用具有悲观,乐观的值的traffic_model并记住“departure_time必须设置为当前时间的几分钟内”,而不会总是返回15分钟。
答案 1 :(得分:3)
根据docs,该功能似乎仅供Maps for Business客户使用。
答案 2 :(得分:2)
即使拥有营业执照,如果您正在使用旅行模式驾驶,您也只能在5分钟后查询出发时间
https://developers.google.com/maps/documentation/distancematrix/
答案 3 :(得分:2)
请尝试使用以下代码。
var origin = new google.maps.LatLng(detectedLatitude,detectedLongitude);
var destination = new google.maps.LatLng(latitudeVal,langtitudeVal);
var service = new google.maps.DistanceMatrixService();var date = new Date();
date.setDate(date.getDate() + 1);
var DrivingOptions = {
departureTime: date,
trafficModel: 'pessimistic'
};
service.getDistanceMatrix(
{
origins: [origin],
destinations: [destination],
travelMode: 'DRIVING',
drivingOptions : DrivingOptions,
unitSystem: google.maps.UnitSystem.METRIC,
durationInTraffic: true,
avoidHighways: false,
avoidTolls: false
}, response_data);function response_data(responseDis, status) {
if (status !== google.maps.DistanceMatrixStatus.OK || status != "OK"){
console.log('Error:', status);
// OR
alert(status);
}else{
alert(responseDis.rows[0].elements[0].distance.text);
}});
请参阅此文档click here
答案 4 :(得分:1)
根据谷歌文档“departure_time”只能在“模式”(旅行模式)设置为“驾驶”(默认的travelMode)并且Api KEY包含在您的请求中时使用。 还有一个可选参数“trafficModel”。 这是一个带有适当参数的示例url。 https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=40.6655101,-73.89188969999998&destinations=40.598566%2C-73.7527626&mode=driving&departure_time=now&traffic_model=optimistic&key=YOUR_API_KEY
要使用距离矩阵api作为javascript代码,请按照本文档中的说明使用它。 https://developers.google.com/maps/documentation/javascript/distancematrix
** Imp:**此API有许多限制。大多数功能仅适用于高级用户。请仔细阅读上述文档。
答案 5 :(得分:1)
此API可以解决您的问题-https://distancematrix.ai/dev
在计算旅行时间时,它会考虑交通状况,道路建设和其他限制。而且,如果您之前使用过Google的API,那将很容易,因为您无需重写代码。
关于出发时间,您将在文档中找到以下内容:
“ departure_time-所需的出发时间。您可以将时间指定为自UTC 1970年1月1日午夜以来的秒数。或者,您可以指定值now,将出发时间设置为当前时间(校正为最接近的秒数)。如果未指定任何时间,则department_time默认为现在(即,出发时间默认为当前时间)。deary_time必须设置为当前时间或将来的某个时间过去不可能。由于路网的变化,平均交通状况的更新以及服务的分散性,给定请求的结果可能会随时间而变化。时间或频率。”
遵循以下建议,您将不会遇到此问题。此外,您可以轻松地与开发人员联系并询问有关您的情况的任何问题。
免责声明:我在一家创建此API的公司工作。
答案 6 :(得分:0)
如果您使用的是golang客户端,请在Directions函数的输入参数DirectionsRequest中将DepartureTime设置为“ now”。