В прошлый раз я рассказала, как изменить стиль карты. Сегодня разберем, как построить пешеходный маршрут от точки А до точки Б. Будем использовать инструменты yandex_mapkit.
Чтобы построить маршрут, добавим точки его начала и конца:
static const startPoint = Point(latitude: 55.745797, longitude: 37.605862);
static const endPoint = Point(latitude: 55.752754, longitude: 37.604188);
Библиотека yandex_mapkit предоставляет доступ к классу YandexPedestrian. Его асинхронный метод requestRoutes позволяет получить список возможных пешеходных маршрутов между заданными точками.
Поле points принимает набор точек RequestPoint, которые должны быть включены в маршрут. Начальную и конечную точку необходимо помечать типом RequestPointType.wayPoint.
Помимо этих двух точек можно добавить несколько промежуточных, тогда маршрут будет построен с учетом их посещения. Им следует задавать тип RequestPointType.viaPoint.
Кроме того, можно задать временные параметры timeOptions, такие как время отправления и время прибытия. Также метод принимает параметр avoidSteep, который отвечает за исключение крутых поворотов на пути.
var resultWithSession = await YandexPedestrian.requestRoutes(
timeOptions: TimeOptions(departureTime: DateTime.now()),
avoidSteep: true,
points: [
RequestPoint(
point: startPoint,
requestPointType: RequestPointType.wayPoint,
),
RequestPoint(
point: endPoint,
requestPointType: RequestPointType.wayPoint,
),
]);
Вот и построили маршрут. Получили не только геометрию пути, которую можно на карте построить с помощью линий PolylineMapObject, но и различные полезные метаданные. Например, время в пути и расстояние.
#howtoflutter
