Обзор поиска по маршруту
Функции поиска по маршруту доступны в следующих API Places (новых):
- Только текстовый поиск (новый): поиск мест вдоль предопределенного маршрута поездки.
- Текстовый поиск (новый) и поиск поблизости (новый): вычисление сводки маршрута от указанного исходного местоположения маршрута до каждого места в результатах поиска.
- Только текстовый поиск (новый): рассчитайте сводку маршрута для каждого места по заранее определенному маршруту поездки.
Поиск по маршруту
Вы используете API маршрутов для расчета маршрута поездки между двумя точками. API маршрутов может рассчитать маршрут для автомобиля, велосипеда, двухколесного транспортного средства, транзитной системы или для ходьбы.
Text Search (New) позволяет использовать этот вычисленный маршрут для выполнения поиска по маршруту . С помощью этой опции вы передаете предварительно вычисленный маршрут из Routes API в запрос Text Search (New). Затем ответ содержит места, которые соответствуют критериям поиска и также расположены рядом с указанным маршрутом.
Поиск по маршруту аналогичен использованию параметров запроса locationRestriction
или locationBias
для смещения результатов поиска. locationRestriction
возвращает результаты поиска, которые попадают в границы области просмотра, в то время как locationBias
может возвращать результаты поиска за пределами области просмотра. Однако, в то время как параметры locationBias
и locationRestriction
позволяют указать регион для смещения результатов поиска, функция поиска по маршруту в текстовом поиске также позволяет смещать результаты поиска, включая те, у которых минимальное время объезда от начальной точки маршрута до конечной точки маршрута. Вы можете смещать результаты поиска, используя locationBias
или locationRestriction
в сочетании с полилинией.
Например, рассмотрим маршрут от исходной точки, называемой путевой точкой в Routes API, до пункта назначения, рассчитанный Routes API:
При поиске по маршруту поиск смещен, чтобы возвращать места вблизи маршрута с минимальным временем обхода от исходной точки до пункта назначения. В этом примере точки A, B и C — это места, возвращаемые поиском.
Рассчитать сводку маршрутизации
Text Search (New) и Nearby Search (New) могут вычислять сводку маршрута , то есть длительность и расстояние до каждого места в ответе на основе указанного местоположения исходной точки маршрутизации в запросе. Когда вы указываете исходную точку маршрутизации, ответ содержит не только список мест, соответствующих поиску, но также длительность поездки и расстояние от исходной точки маршрутизации до каждого места.
На следующем изображении точки A, B и C — это места, возвращенные в ответе поиска:
Для каждого места в результатах ответ содержит продолжительность поездки и расстояние от начальной точки маршрута до места, если это доступно.
По умолчанию длительность и расстояние поездки рассчитываются с использованием параметра TRAFFIC_UNAWARE
в API маршрутов. Вы можете дополнительно задать параметры маршрутизации, чтобы учитывать условия реального трафика TRAFFIC_AWARE_OPTIMAL
или условия реального трафика с уменьшенной задержкой TRAFFIC_AWARE
во время расчетов.
О маршрутах, этапах и точках маршрута
Маршрут, рассчитанный с помощью API маршрутов, состоит из нескольких компонентов:
Маршрут состоит из следующих компонентов:
- Точка маршрута : Чтобы рассчитать маршрут, вы указываете как минимум местоположение исходной и конечной точек. Вы определяете эти местоположения как промежуточные точки маршрута. Промежуточные точки маршрута — это местоположения между исходной и конечной точками, через которые должен проходить маршрут.
Маршрут : Весь маршрут от исходной точки маршрута, через любые промежуточные точки маршрута, до точки назначения. Маршрут состоит из одного или нескольких этапов .
При передаче маршрута в Text Search вы передаете закодированную полилинию маршрута , возвращаемую Routes API . Закодированная полилиния — это закодированный список точек широты и долготы, который позволяет вам представить полилинию маршрута в виде строки.
Leg : Путь от одной точки маршрута до следующей точки маршрута. Каждый отрезок состоит из одного или нескольких отдельных шагов .
Маршрут содержит отдельный отрезок пути от каждой точки маршрута до следующей. Например, если маршрут содержит одну исходную точку маршрута и одну конечную точку маршрута, то маршрут содержит один отрезок.
Для каждой дополнительной путевой точки, добавляемой к маршруту после начальной и конечной точек (так называемой промежуточной путевой точки), API добавляет отдельный этап.
Дополнительную информацию о маршрутах и расчете маршрутов см. в API маршрутов .
Рассчитать сводку маршрута с поиском по маршруту
Вы можете объединить расчеты сводки маршрута с поиском по маршруту . В этом случае текстовый поиск (новый) возвращает длительность поездки и расстояние до каждого места в ответе, а затем от каждого места до конечного пункта маршрута. Подумайте об этом расчете как о предоставлении длительности поездки и расстояния, если вы отклоняетесь от указанного маршрута, чтобы добраться до места в результатах поиска, а затем продолжаете движение до конечного пункта назначения.
Например, рассмотрим следующий маршрут от исходной точки до пункта назначения, рассчитанный API маршрутов. Передайте этот маршрут в API текстового поиска (новый) вместе с критериями поиска.
В этом примере местоположение A — это место, возвращенное в результатах поиска Text Search (New). Для каждого места в ответе поиск включает длительность и расстояние, необходимые для обхода этого места в виде двухэтапного путешествия :
- Первый этап содержит длительность поездки и расстояние от начальной точки маршрута до места . В этом примере — от начальной точки до места A.
- Второй этап содержит длительность поездки и расстояние от места до пункта назначения маршрута. В этом примере — от A до пункта назначения.
Используя информацию в ответе, вы можете рассчитать продолжительность и расстояние объезда , где:
- \(t_{OD}\) продолжительность поездки от пункта отправления до пункта назначения, \(s_{OD}\) это расстояние поездки от пункта отправления до пункта назначения
- \(t_{OA}\) продолжительность поездки от пункта отправления до пункта А; \(s_{OA}\) это расстояние поездки от исходной точки до точки A
- \(t_{AD}\) продолжительность поездки от пункта А до пункта назначения; \(s_{AD}\) это расстояние поездки от А до пункта назначения
Продолжительность объезда — это разница в продолжительности между исходной поездкой (от исходной точки до пункта назначения) и новой поездкой (от исходной точки до пункта назначения через A):
Расстояние объезда — это разница в расстоянии между исходной поездкой (от исходной точки до пункта назначения) и новой поездкой (от исходной точки до пункта назначения через точку А):