Обзор поиска по маршруту

Функции поиска по маршруту доступны в следующих API-интерфейсах Places (новые):

  • Только текстовый поиск (новинка): поиск мест по заранее определенному маршруту поездки.
  • Текстовый поиск (новое) и поиск поблизости (новое): расчет сводки маршрута от указанного исходного местоположения маршрута до каждого места в результатах поиска.
  • Только текстовый поиск (новое): Рассчитайте сводную информацию о маршруте для каждого места на заранее определенном маршруте поездки.

Поиск по маршруту

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

Текстовый поиск (новое) позволяет использовать рассчитанный маршрут для поиска по маршруту . С помощью этого параметра вы передаете предварительно рассчитанный маршрут из API маршрутов в запрос текстового поиска (новый). Затем ответ содержит места, соответствующие критериям поиска, а также расположенные рядом с указанным маршрутом.

Поиск по маршруту аналогичен использованию параметров запроса locationRestriction или locationBias для смещения результатов поиска. locationRestriction возвращает результаты поиска, попадающие в пределы области просмотра, а locationBias может возвращать результаты поиска за пределами области просмотра. Однако, хотя параметры locationBias и locationRestriction позволяют указать регион для смещения результатов поиска, функция поиска по маршруту в текстовом поиске также позволяет смещать результаты поиска, включив в них регионы с минимальным временем объезда от начала маршрута до пункта назначения маршрута. Вы можете смещать результаты поиска, используя locationBias или locationRestriction в сочетании с ломаной линией.

Например, рассмотрим маршрут от источника, который в API маршрутов называется промежуточной точкой , до пункта назначения, рассчитанного API маршрутов:

Маршрут от исходной точки до пункта назначения с результатами поиска.

При поиске по маршруту поиск смещается в сторону мест рядом с маршрутом с минимальным временем обхода от пункта отправления до пункта назначения. В этом примере точки A, B и C — это места, возвращенные поиском.

Рассчитать сводку маршрутизации

Текстовый поиск (новое) и поиск поблизости (новое) могут рассчитывать сводную информацию о маршрутизации , то есть продолжительность и расстояние, до каждого места в ответе на основе указанного местоположения источника маршрутизации в запросе. Когда вы указываете источник маршрута, ответ содержит не только список мест, соответствующих запросу, но также продолжительность пути и расстояние от источника маршрута до каждого места.

На следующем изображении точки A, B и C — это места, возвращенные в ответе на поиск:

Точки A, B и C — это места, возвращаемые в ответе на поиск.

Для каждого места в результатах ответ содержит продолжительность поездки и расстояние от начала маршрута до места, если оно доступно.

По умолчанию продолжительность поездки и расстояние рассчитываются с использованием параметра TRAFFIC_UNAWARE в API маршрутов. При желании вы можете установить настройки маршрутизации, чтобы во время расчетов учитывались условия трафика в реальном времени TRAFFIC_AWARE_OPTIMAL или условия трафика в реальном времени TRAFFIC_AWARE с уменьшенной задержкой.

О маршрутах, участках и путевых точках

Несколько компонентов составляют маршрут, рассчитанный API маршрутов:

Компоненты, составляющие маршрут.

Маршрут состоит из следующих компонентов:

  • Путевая точка : для расчета маршрута вы указываете как минимум места отправления и назначения. Вы определяете эти местоположения как путевые точки на маршруте. Промежуточные путевые точки — это места между отправной точкой и пунктом назначения, через которые вы хотите пройти маршрут.
  • Маршрут : вся поездка от исходной путевой точки через все промежуточные путевые точки до конечной путевой точки. Маршрут состоит из одного или нескольких этапов .

    При передаче маршрута в текстовый поиск вы передаете закодированную ломаную линию маршрута , возвращаемую API маршрутов . Закодированная ломаная линия — это закодированный список точек широты и долготы, который позволяет представить ломаную линию маршрута в виде строки.

  • Этап : Путь от одной путевой точки маршрута до следующей путевой точки маршрута. Каждый этап состоит из одного или нескольких дискретных шагов .

    Маршрут содержит отдельный участок пути от каждой путевой точки к следующей. Например, если маршрут содержит одну путевую точку отправления и одну путевую точку назначения, то маршрут содержит один участок.

    Для каждой дополнительной путевой точки, которую вы добавляете в маршрут после пункта отправления и назначения, называемой промежуточной путевой точкой, API добавляет отдельный участок.

Дополнительную информацию о маршрутах и ​​расчете маршрутов см. в Routes API .

Рассчитать сводку маршрута с помощью поиска по маршруту

Вы можете комбинировать сводные расчеты маршрута с поиском по маршруту . В этом случае Текстовый поиск (Новый) возвращает продолжительность поездки и расстояние до каждого места в ответе, а затем от каждого места до конечного пункта маршрута. Рассматривайте этот расчет как расчет продолжительности и расстояния поездки, если вы отклоняетесь от указанного маршрута, чтобы добраться до места в результатах поиска, а затем продолжаете путь к конечному пункту назначения.

Например, рассмотрим следующий маршрут от пункта отправления до места назначения, рассчитанный API маршрутов. Передайте этот маршрут в API текстового поиска (новый) вместе с критериями поиска.

Маршрут от исходной точки до пункта назначения с обходом для поиска   результат.

В этом примере местоположение A — это место, возвращаемое в результатах поиска из текстового поиска (новое). Для каждого места в ответе поиск включает продолжительность и расстояние, необходимое для обхода этого места в двухэтапном путешествии :

  • Первый этап содержит продолжительность поездки и расстояние от начала маршрута до места . В этом примере от начала координат до места А.
  • Второй этап содержит продолжительность поездки и расстояние от места до пункта назначения маршрута. В этом примере от А до места назначения.

На основе информации в ответе вы можете затем рассчитать продолжительность и расстояние объезда , где:

  • \(t_{OD}\) - продолжительность поездки от пункта отправления до пункта назначения, \(s_{OD}\) расстояние поездки от пункта отправления до пункта назначения
  • \(t_{OA}\) — продолжительность поездки от пункта отправления до пункта А; \(s_{OA}\) - расстояние поездки от пункта отправления до точки A
  • \(t_{AD}\) – продолжительность поездки от А до пункта назначения; \(s_{AD}\) расстояние поездки от А до пункта назначения

Продолжительность объезда — это разница в продолжительности между исходной поездкой (от пункта отправления до пункта назначения) и новой поездкой (от пункта отправления до пункта назначения через пункт А):

$$ t_{detour} = t_{OA} + t_{AD} - t_{OD} $$

Расстояние объезда — это разница расстояний между исходной поездкой (от пункта отправления до пункта назначения) и новой поездкой (от пункта отправления до пункта назначения через точку А):

$$ s_{detour} = s_{OA} + s_{AD} - s_{OD} $$