Все сервисы HERE Maps API предоставляются через облачную платформу HERE Platform. Для доступа к картографическим данным, геокодированию, маршрутизации, поиску объектов, матрицам расстояний и другим сервисам требуется зарегистрированный аккаунт и действительные учетные данные авторизации.
Аккаунт выполняет несколько важных функций:
Без корректно настроенного аккаунта выполнение запросов к HERE API невозможно.
Создание аккаунта начинается на официальном портале HERE Developer.
В процессе регистрации указываются:
После подтверждения электронной почты становится доступна консоль управления HERE Platform.
В зависимости от выбранного тарифного плана аккаунт получает определенные лимиты на использование сервисов.
Основные категории тарифов:
| Тип аккаунта | Назначение |
|---|---|
| Free | Изучение платформы и небольшие проекты |
| Freemium | Ограниченное коммерческое использование |
| Enterprise | Крупные коммерческие решения |
После регистрации автоматически создается рабочее пространство пользователя.
После входа открывается панель управления платформой.
Основные разделы:
Раздел для создания и управления проектами.
Каждое приложение рекомендуется размещать в отдельном проекте.
Проект может содержать:
Раздел управления авторизацией.
Используется для:
Раздел статистики использования сервисов.
Позволяет отслеживать:
Раздел управления оплатой.
Содержит:
Перед генерацией ключей рекомендуется создать отдельный проект.
Типичный порядок действий:
Пример структуры проектов:
| Проект | Назначение |
|---|---|
| Delivery App | Сервис доставки |
| Logistics Dashboard | Панель логистики |
| Fleet Tracking | Мониторинг транспорта |
| Geo Search Service | Геопоиск объектов |
Такой подход упрощает сопровождение и масштабирование инфраструктуры.
Для большинства JavaScript-приложений используется API Key.
API Key представляет собой уникальный идентификатор приложения.
Пример структуры:
ABCD1234EFGH5678IJKL9012MNOP3456
Ключ передается в запросах к HERE Platform и позволяет системе определить источник обращения.
Преимущества API Key:
Для клиентских JavaScript-приложений API Key является стандартным вариантом авторизации.
Создание ключа выполняется через Access Manager.
Последовательность действий:
После генерации система отобразит строку ключа.
Пример:
V6JYjKzT3jM8Q2K7bF4gX1nR9YwP5LsA
Ключ следует сохранить в безопасном месте.
При инициализации платформы ключ передается в конфигурационный объект.
Пример подключения:
const platform = new H.service.Platform({
apikey: "YOUR_API_KEY"
});
После создания экземпляра платформы становятся доступны сервисы картографии и геоданных.
Наиболее простой способ проверки — загрузка карты.
Пример:
const platform = new H.service.Platform({
apikey: "YOUR_API_KEY"
});
const layers = platform.createDefaultLayers();
const map = new H.Map(
document.getElementById("map"),
layers.vector.normal.map,
{
zoom: 10,
center: { lat: 55.7558, lng: 37.6176 }
}
);
Если карта успешно отображается, ключ считается рабочим.
При ошибке авторизации в консоли браузера обычно появляются сообщения:
401 Unauthorized
или
403 Forbidden
Для повышения безопасности рекомендуется ограничивать использование ключей.
Допускается настройка разрешенных доменов:
example.com
www.example.com
app.example.com
Преимущества ограничения:
Даже при утечке ключа сторонние сайты не смогут использовать его вне разрешенных доменов.
Для серверных приложений может использоваться привязка к IP-адресам.
Примеры:
192.168.1.10
203.0.113.15
Подход особенно полезен для:
Практикой промышленной разработки является периодическая замена ключей.
Причины ротации:
Типичный процесс:
Наличие нескольких активных ключей позволяет выполнить замену без остановки сервиса.
Помимо API Key платформа HERE поддерживает OAuth 2.0.
OAuth применяется в случаях:
OAuth включает несколько сущностей:
Для браузерных картографических приложений OAuth используется значительно реже, чем API Key.
| Характеристика | API Key | OAuth |
|---|---|---|
| Простота настройки | Высокая | Средняя |
| Использование в браузере | Да | Ограниченно |
| Серверные приложения | Да | Да |
| Уровень безопасности | Хороший | Очень высокий |
| Работа с защищенными сервисами | Не всегда | Да |
Для большинства проектов на JavaScript достаточно API Key.
Никогда не следует хранить ключи в открытом виде внутри репозитория.
Нежелательный вариант:
const API_KEY = "REAL_API_KEY";
Более безопасный подход для серверных приложений:
const API_KEY = process.env.HERE_API_KEY;
Файл окружения:
HERE_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxx
При публикации исходного кода файл .env обычно
исключается из системы контроля версий.
Использование пакета dotenv:
npm install dotenv
Подключение:
require("dotenv").config();
const apiKey = process.env.HERE_API_KEY;
Инициализация платформы:
const platform = new H.service.Platform({
apikey: apiKey
});
Такой подход считается стандартом для современных JavaScript-проектов.
После начала работы приложения необходимо регулярно контролировать статистику.
Консоль HERE позволяет анализировать:
Контроль статистики помогает:
Некоторые старые примеры кода используют:
app_id
app_code
Подобный механизм считается устаревшим.
Современные версии HERE Maps API используют:
apikey
Ошибка приводит к:
Без ограничений любой пользователь, получивший ключ, сможет использовать его в собственных приложениях.
Такой подход усложняет:
Для каждого проекта рекомендуется создавать отдельный API Key.
Для производственной среды часто используется следующая структура:
HERE Account
│
├── Project A
│ ├── API Key A1
│ └── API Key A2
│
├── Project B
│ ├── API Key B1
│ └── API Key B2
│
└── Project C
└── API Key C1
Преимущества такой организации: