Аутентификация
Все запросы требуют API-ключ в заголовке Authorization.
Ключи создаются в портале в разделе «API Keys». Каждый ключ привязан к вашему аккаунту и имеет собственные лимиты.
Построение маршрута между двумя точками с учетом типа транспорта. Поддерживает до 20 промежуточных точек (waypoints).
| Параметр | Тип | Обязателен | По умолчанию | Описание |
|---|---|---|---|---|
| from | object | Да | — | Начальная точка {lat, lon} |
| to | object | Да | — | Конечная точка {lat, lon} |
| waypoints | array | Нет | — | Промежуточные точки (до 20). Массив объектов {lat, lon} |
| mode | string | Нет | "car" | Тип транспорта: car, foot, bike |
| alternatives | boolean | Нет | false | Возвращать альтернативные маршруты |
| steps | boolean | Нет | false | Включить пошаговые инструкции |
| language | string | Нет | "en" | Язык инструкций: en, ru |
Прямой геокодинг — поиск координат по текстовому адресу.
| Параметр | Тип | Обязателен | По умолчанию | Описание |
|---|---|---|---|---|
| q | string | Да | — | Поисковый запрос (адрес, название места) |
| limit | integer | Нет | 5 | Максимальное количество результатов (1-20) |
| language | string | Нет | "en" | Язык результатов: en, ru |
| countrycodes | string | Нет | — | Ограничить поиск странами (ISO 3166-1 alpha-2) |
Обратный геокодинг — получение адреса по координатам.
| Параметр | Тип | Обязателен | По умолчанию | Описание |
|---|---|---|---|---|
| lat | number | Да | — | Широта (-90 до 90) |
| lon | number | Да | — | Долгота (-180 до 180) |
| language | string | Нет | "en" | Язык результата: en, ru |
| zoom | integer | Нет | 18 | Уровень детализации (0-18) |
AI-поиск, который понимает естественный язык. Классифицирует запрос и направляет к нужному провайдеру:
ADDRESS— запросы адресов (напр. «ул. Ленина 10», «Москва, Тверская») → Геокодинг (Nominatim)PLACE— запросы мест (напр. «ближайший спортзал», «кафе рядом») → Google Places API
smart_search на API-ключе. Стоимость: 10 units за запрос.
| Параметр | Тип | Обязателен | По умолчанию | Описание |
|---|---|---|---|---|
| query | string | Да | — | Поисковый запрос на естественном языке (2-500 символов) |
| lat | number | Да | — | Широта пользователя (-90 до 90) |
| lon | number | Да | — | Долгота пользователя (-180 до 180) |
| radius_km | integer | Нет | 10 | Радиус поиска в километрах (1-50) |
| limit | integer | Нет | 5 | Максимальное количество результатов (1-20) |
| language | string | Нет | "ru" | Язык результатов: ru, en |
| Поле | Тип | Описание |
|---|---|---|
| name | string | Название места |
| address | string | Полный адрес |
| lat | number | Широта |
| lon | number | Долгота |
| distance_m | integer? | Расстояние от пользователя в метрах |
| rating | number? | Рейтинг (0-5) |
| place_type | string? | Тип места (gym, cafe, pharmacy и т.д.) |
| phone | string? | Номер телефона |
| website | string? | URL веб-сайта |
| opening_hours | array? | Часы работы |
Установка
Flutter SDK для навигации, маршрутизации, геокодинга и интерактивных карт на базе MapLibre GL. Версия 0.2.0.
Инициализируйте SDK перед использованием. URL тайлов загружается автоматически.
Виджет интерактивной карты с поддержкой жестов, маркеров и маршрутов.
| Параметр | Тип | Описание |
|---|---|---|
| controller | QorviaMapController? | Контроллер карты |
| options | MapOptions | Конфигурация карты (центр, зум, жесты) |
| markers | List<Marker> | Маркеры для отображения |
| clusterOptions | MarkerClusterOptions? | Настройки кластеризации маркеров |
| routeLines | List<RouteLine> | Линии маршрутов |
| onMapCreated | Function(QorviaMapController) | Callback готовности карты |
| onMapTap | Function(Coordinates) | Callback нажатия на карту |
| onMapLongPress | Function(Coordinates) | Callback долгого нажатия |
| onMarkerTap | Function(Marker) | Callback нажатия на маркер |
| onClusterTap | Function(MarkerCluster) | Callback нажатия на кластер |
| onCameraMove | Function(CameraPosition) | Callback движения камеры |
Разнообразные типы маркеров: стандартные, нумерованные, анимированные, с кастомными иконками.
Расчёт и отображение маршрутов между точками.
| Режим | Описание |
|---|---|
| TransportMode.car | Автомобиль |
| TransportMode.bike | Велосипед |
| TransportMode.foot | Пешком |
| TransportMode.truck | Грузовик (с ограничениями) |
Прямой и обратный геокодинг через SDK.
Сервис GPS-трекинга с фильтрацией Калмана и мониторингом состояния.
Мониторинг использования API прямо из приложения.
Ошибки
При возникновении ошибки API возвращает JSON с информацией об ошибке:
| HTTP код | Описание |
|---|---|
| 400 | Неверные параметры запроса |
| 401 | Отсутствует или неверный API-ключ |
| 403 | Доступ запрещен (ключ деактивирован) |
| 429 | Превышен лимит запросов |
| 500 | Внутренняя ошибка сервера |
Лимиты
Каждый запрос потребляет определенное количество единиц (units):
| Эндпоинт | Units |
|---|---|
| /v1/route | 5 |
| /v1/geocode | 1 |
| /v1/reverse | 1 |
| /v1/smart-search | 10 |
Лимиты зависят от вашего тарифного плана. Текущее использование можно отслеживать в разделе «Usage» личного кабинета.