Использование Google Direction API с несколькими путевыми точками и режимами

У меня есть велосипедная станция, и мне нужно найти дорогу из одной точки в другую, используя эти велосипеды. Например:

  1. Пользователь идет на ближайшую станцию ​​и выбирает велосипед
  2. он идет на другую станцию ​​на велосипеде
  3. он бросает здесь свой велосипед и финиширует пешком

Собственно, мое приложение для Android работает так:

  1. Я нахожу две станции, ближайшие к моему текущему положению, и две, самые близкие к пункту назначения
  2. Я рассчитываю четыре разных маршрута с помощью google api. (выбирая ту или иную станцию) и выбираем лучшую

Чтобы рассчитать маршрут, я делаю три запроса в направлении Google: один от моего местоположения до станции пешком, один от одной станции до другой на велосипеде и третий от станции до конечного пункта назначения пешком. это 3 * 4 = 12 запрос к API Google

Пользователи бесплатного API

   2500 directions requests per 24 hour period.
   Up to 8 waypoints allowed in each request. Waypoints are not >available for transit directions.
   2 requests per second. 

12 запросов - это слишком много для моего приложения, однако google api позволяет использовать путевые точки, тогда я бы дал две станции и только один запрос вместо 3, но тогда я не знаю, как изменить режим (езда на велосипеде или ходьба ) между путевыми точками, возможно ли это? Или, может быть, API Google может найти для меня лучший маршрут (предоставив ему разные станции), возможно ли это?

Спасибо вам :)


person Jean Bouvattier    schedule 15.07.2015    source источник
comment
developers.google.com/maps/documentation/directions/intro   -  person Jean Bouvattier    schedule 15.07.2015


Ответы (1)


Вы можете сделать расчет по 6 маршрутам. Это проще всего объяснить с помощью диаграммы: введите здесь описание изображения

По сути, есть 8 компонентов, общих для всех возможных маршрутов, которые вы планируете: это два расстояния, на которые нужно добраться до любой велосипедной станции, четыре из различных комбинаций велосипеда и велосипеда и последние две велосипедные станции до конечных вариантов.

Фактически, это может быть сжато еще больше, поскольку последние два маршрута зависят от велосипеда, но не подлежат дальнейшим изменениям. Следовательно, это можно сжать до шести маршрутов:

start --> A
start --> B
A --> C --> End
A --> D --> End
B --> C --> End
B --> D --> End

Если вы не можете использовать путевые точки, вы можете просто использовать восемь, которые будут разделять маршруты типа A --> C --> End на A --> C, а затем C --> End, которые также будут использоваться с B --> C --> End.

Конечно, общее время складывается из начального маршрута и последующего велосипедного / пешеходного маршрута и т. Д.

Когда это будет реализовано, количество запросов сократится до 8 (или даже до 6).

person bcdan    schedule 15.07.2015