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