Как избежать платных дорог и автомагистралей для ограничений в Google Directions API?

API маршрутов Google позволяет нам попытаться избежать платы за проезд, указав аргумент &avoid=tolls.

Кроме того, мы можем попытаться избежать шоссе, указав аргумент &avoid=highways.

Мне было интересно, как я могу предоставить аргументы в пользу того, чтобы избегать платных дорог и автомагистралей?

Is it &avoid=tolls|highways or &avoid=tolls,highways ?


person Pacerier    schedule 15.01.2012    source источник
comment
Вы тоже пробовали?   -  person Rowland Shaw    schedule 19.01.2012
comment
@RowlandShaw да, но возвращаемые результаты одинаковы, независимо от того, что я поставил. Ребята из groups.google.com/group /google-maps-api-web-services/ также игнорируют этот вопрос..   -  person Pacerier    schedule 19.01.2012
comment
Есть разница между игнорированием и незнанием ответа (поскольку он не задокументирован)   -  person Rowland Shaw    schedule 19.01.2012
comment
Ну, я не могу построить маршрут (мысленно), где есть запасные пути, избегающие платных дорог и автомагистралей; все дорожные сборы, о которых я знаю, либо на автомагистралях (поэтому избегание автомагистралей позволяет избежать дорожных сборов), либо в таких небольших местах, что вам не нужно также избегать автомагистралей.   -  person Rowland Shaw    schedule 02.02.2012
comment
@RowlandShaw Ну, это не значит, что документация не должна об этом молчать. Например, если информации нет, мы даже не знаем, незаконно ли вставлять &avoid=tolls|highways. Кстати, почему вы проголосовали за закрытие?   -  person Pacerier    schedule 02.02.2012
comment
Вы правы в том, что допустимые значения должны быть задокументированы поставщиком API (например, Google); может случиться так, что допустимые значения задокументированы, и возможность избежать обоих не поддерживается ими. Это не то, что мог бы категорично заявить посторонний из Google. Вы можете провести свой собственный анализ (найти маршрут, который имеет вариант, который позволяет избежать платных дорожных сборов, но обычно использует их, затем проверьте, избегает ли он автомагистралей, а дорожные сборы по-прежнему избегают его; повторите для маршрута шоссе / объездного шоссе; но поскольку это не задокументировано , не полагайтесь на то, что реализация останется фиксированной)   -  person Rowland Shaw    schedule 02.02.2012
comment
Есть успехи с этим вопросом?   -  person Grigory    schedule 08.02.2012
comment
@Белору совсем нет. Никто не в силах помочь.   -  person Pacerier    schedule 10.02.2012
comment
@Belorus не забудьте опубликовать ответ, если он у вас есть!   -  person Pacerier    schedule 10.02.2012


Ответы (4)


&avoid=платные дороги|шоссе

Найдите «avoid=tolls|highways|ferries» на странице: https://developers.google.com/maps/documentation/directions/

person user1135204    schedule 20.12.2014

Я тоже застрял на «попытке» избежать автомагистралей и платных дорог. В документах четко указано: «Примечание: добавление ограничений не исключает маршруты, включающие ограниченную функцию; оно просто смещает результат в сторону более благоприятных маршрутов»… поэтому благоприятные = игнорируемые аргументы.

Вы можете передать оба аргумента...http://maps.google.com/maps/api/directions/xml?alternatives=true&units=imperial&avoid=tolls&avoid=highways...

Вот ссылка на последние документы.... https://developers.google.com/maps/documentation/directions/

person Greg Sipes    schedule 22.08.2012
comment
Даже карты API, указанные в ответе, не работают. Вы можете подтвердить это следующим образом: maps.googleapis.com/maps/api/directions/› Он указывает путь, который проходит через шоссе 50. - person Chanchal Raj; 01.09.2019

Я столкнулся с той же проблемой, поэтому провел несколько тестов, и похоже, что &avoid=tolls|highways — правильное использование.

Если вы едете из Портленда, штат Орегон, в Сан-Франциско, в Калифорнии есть платные дороги и автомагистрали. Если вы зайдете на maps.google.com и проложите маршрут между ними, выбрав разные варианты, вы обнаружите, что Google дает вам тот же маршрут для избегания автомагистралей, что и для избегания автомагистралей и платных дорог.

При выполнении запроса API &avoid=tolls|highways приводит к тому же результату, что и &avoid=highways|tolls.

&avoid=tolls,highways тоже не позволяет избежать.

&avoid=tolls&avoid=highways приводит только к избеганию дорожных сборов.

Все это приводит меня к выводу, что Google должен считывать обе переменные, когда вы передаете их с помощью |. однако избегание платных дорог и автомагистралей часто приводит к тем же направлениям, что и просто избегание автомагистралей.

person garrettmoon    schedule 27.10.2012

В настоящее время, похоже, есть ошибка в API Google Directions (а не в клиентской библиотеке). Множественные ограничения не определены, например, &avoid=highways|tolls не работает, но работают &avoid=highways и &avoid=tolls по одному.

См. ответ: https://productforums.google.com/forum/#!topic/maps/WSp_qn6ou6I

Я открыл для этого запись об ошибке в системе отслеживания ошибок Directions API, поскольку там ее уже не было https://code.google.com/p/gmaps-api-issues/issues/detail?id=10696

person Sverrir Sigmundarson    schedule 15.10.2016