Проблема с Google Direction Matrix API
Я пытался найти значение duration_in_traffic из API.
Когда я использую объект службы матрицы расстояния, как это:
service.getDistanceMatrix(
{
origins : i === 0 ? [origin] : [destination],
destinations : i === 0 ? [destination] : [origin],
travelMode : google.maps.TravelMode.DRIVING,
drivingOptions : {
departureTime : departureTime[i],
trafficModel : google.maps.TrafficModel.PESSIMISTIC
}
}, callbackCar);
Результат не содержит поля duration_in_traffic.
Когда я использую вместо этого службу GET API с JSONP, консоль содержит неожиданный токен: ошибка...
getDelay: function() {
return $resource('https://maps.googleapis.com/maps/api/distancematrix/json', {
key: ACCESS.ggAPI,
origins: "@origins",
destinations: "@destinations",
language: "fr-FR",
mode: "@mode",
transit_mode: "@transitMode",
traffic_model: "@traffic_model"
}, {
get: {
method: 'JSONP'
}
});
}
Когда я пытаюсь использовать GET вместо JSONP, у меня возникает проблема с CORS...
Когда я пытаюсь поместить URI, созданный угловым сервисом, в другое окно, я могу найти правильный результат:
{
"destination_addresses" : [ "93200 Saint-Denis, France" ],
"origin_addresses" : [ "95500 Gonesse, France" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "16,7 km",
"value" : 16746
},
"duration" : {
"text" : "19 minutes",
"value" : 1133
},
**"duration_in_traffic" : {
"text" : "23 minutes",
"value" : 1391
},**
"status" : "OK"
}
]
}
],
"status" : "OK"
}
Что я могу сделать?
1 ответ
Без Премиум-плана вы не сможете получить duration_in_traffic
приписывать.
Общая продолжительность этого отрезка с учетом условий трафика, указанных свойством trafficModel. Это свойство может быть неопределенным, так как продолжительность может быть неизвестна. Доступно только для клиентов Премиум-плана, если при выполнении запроса определено водительское удостоверение.