Как использовать 2GIS API v2.0 для построения маршрута?

Как можно создать маршрут с использованием 2ГИС API в новой версии, так чтобы не было обрезания пути, кроме использования <b>mapgl.Directions();</b>?

  • 24 апреля 2024 г. 10:50
Ответы на вопрос 2
Для построения маршрута с использованием 2ГИС API v2.0 без обрезания пути, можно использовать следующий пример кода:

1. Создание экземпляра Directions и установка параметров маршрута:

```javascript
var directions = new mapgl.Directions({
  key: 'YOUR_API_KEY',
  routingMode: 'auto',
  routeResults: 1,
  zoomMargin: 0.3
});
```

2. Определение точек начала и конца маршрута:

```javascript
var startPoint = new mapgl.LngLat(37.609218, 55.754636);
var endPoint = new mapgl.LngLat(37.617673, 55.745908);
```

3. Построение маршрута и добавление его на карту:

```javascript
directions.query({
  points: [startPoint, endPoint]
}, function(error, result) {
  if (!error) {
    var route = result.routes[0];
    var routeLayer = new mapgl.Shape(route.geometry, {
      strokeColor: '#ff0000',
      strokeWidth: 4
    });
    map.addLayer(routeLayer);
  }
});
```

Этот код создаст маршрут между двумя точками на карте, без обрезания пути. Важно помнить, что для использования 2ГИС API необходимо получить API ключ и использовать его при инициализации Directions.
Для построения маршрута в новой версии 2GIS API v2.0 можно использовать следующий подход: 

1. Подключите необходимые модули и библиотеки:

```javascript
import { Directions, Geometry } from '@2gis/mapgl';
```

2. Создайте экземпляр `Directions` и добавьте его на карту:

```javascript
const directions = new Directions({
apikey: 'YOUR_API_KEY', // замените на ваш API-ключ
vehicle: 'truck', // тип транспортного средства
routingMode: 'shortest', // режим маршрутизации
trafficEnabled: true, // учитывать ли пробки
locale: 'ru' // язык
});

directions.on('load', () => {
directions.addTo(map); // добавить направления на карту
});
```

3. Задайте начальную и конечную точки маршрута:

```javascript
const start = new Geometry.Point(START_LONGITUDE, START_LATITUDE);
const end = new Geometry.Point(END_LONGITUDE, END_LATITUDE);

directions.setWaypoints([start, end]);
```

4. Обработайте событие `route`, чтобы получить информацию о маршруте и отобразить его на карте:

```javascript
directions.on('route', (event) => {
const route = event.route;
const geometry = route.geometry;

// Отобразить геометрию маршрута на карте
const routeLayer = new Geometry.PolylineGeometry(geometry);
map.addLayer(routeLayer);
});
```

Этот подход использует новую версию 2GIS API v2.0 и позволяет построить маршрут на карте с учетом заданных параметров (тип транспортного средства, режим маршрутизации, учет пробок и т.д.).

Обратите внимание, что в примере используются модули и классы из библиотеки `@2gis/mapgl`, которую необходимо установить через менеджер пакетов (например, npm или yarn).
Похожие вопросы