Почему Google Distance Matrix Api возвращает неверный статус запроса? (используя флаттер)

Я пытаюсь вызвать API матрицы расстояний, и каждый раз, когда я его вызываю, он возвращает недопустимый запрос, это мой код для вызова запроса и его анализа.

выход:

{destination_addresses: [], origin_addresses: [], rows: [], status: INVALID_REQUEST}

функция запроса из апи:

  Future<String> getDuration(LatLng l1, List<LatLng> l2) async {

    var destinations = await _getwaypoints(l2);
    String url =
         "https://maps.googleapis.com/maps/api/distancematrix/json? 
     origin=${l1.latitude},${l1.longitude}&destination=$destinations&departure_time=now&key=$apiKey";
    http.Response response = await http.get(url);
    Map values = jsonDecode(response.body);

    return values.toString();

_getwaypoints, которую я использую для форматирования списка в соответствии с запросом:

  Future<String> _getwaypoints(List<LatLng> way) async {
String waypointcoords = '';
// Future<String> finalwaypoints;
if (way == null) {
  return null;
} else {
  for (int i = 0; i <= (way.length - 1); i++) {
    var lat = way[i].latitude.toString();
    var lon = way[i].longitude.toString();
    if (i == 0) {
      waypointcoords += '$lat%2C$lon';
    } else {
      waypointcoords += '%7C$lat%2C$lon ';
    }
  }

  waypointcoords.trim();

  return waypointcoords;
}

}

Кроме того, я попытался передать одно исходное местоположение и одно место назначения, и это был тот же результат,

почему возврат является недействительным статусом запроса, в то время как он все еще распознает, что его API матрицы расстояний и возвращает пустые адреса назначения, адреса происхождения и строки,

есть что-то, что я делаю неправильно?


person badercode    schedule 23.01.2021    source источник


Ответы (1)


В URL-адресе запроса вместо origin и destination должны быть origins и destinations

person dm_tr    schedule 23.01.2021
comment
большое спасибо, я думал, что это как направления API. - person badercode; 24.01.2021