react-native-yamap icon indicating copy to clipboard operation
react-native-yamap copied to clipboard

Как строить маршруты на карте?

Open KerAm-js opened this issue 2 years ago • 1 comments

В документации к Mapkit есть информация о том, как строить маршруты на карте с помощью. Есть ли реализация этого функционала в данной библиотеке?

KerAm-js avatar Oct 25 '23 17:10 KerAm-js

У меня получилось построить маршрут. Сначала используем метод Yamap.findDrivingRoutes, чтобы получить данные о маршрутах между двумя точками A и B:

const [points, setPoints] = useState<Array<Point>>([]);

const getRoutes = () => {
  if (mapRef.current && pointA && pointB) {
    mapRef.current.findDrivingRoutes(
      [pointA, pointB],
      (evt: RoutesFoundEvent<DrivingInfo>) => {
        const arr: Array<Point> = [];
        evt.routes[0].sections.forEach(section =>
          section.points.forEach(point => arr.push(point)),
        );
        setPoints(arr);
      },
    );
  }
};

Далее используем Polyline для отображения точек: <Polyline points={points} strokeColor={BLUE} strokeWidth={4} />

Возможно, алгоритм не самый эффективный, но хотя бы работает.

KerAm-js avatar Oct 30 '23 18:10 KerAm-js