В этом документе описаны шаги, которые необходимо выполнить, чтобы начать использовать Roads API.
Требования
В этом разделе рассказывается, как настроить аккаунт Google Cloud и облачный проект с включенными платежными функциями. Также необходимо знать, как взимается плата за использование Roads API.
- Проверьте счета и стоимость использования на странице Roads API Usage and Billing (Использование и цены).
Убедитесь, что у вас есть аккаунт Google Cloud.
Войдите в консоль Google Cloud.Убедитесь, что у вас есть проект Google Cloud с включенными платежными функциями.
Перейти на страницу "Оплата"- Выберите проект, чтобы открыть страницу Billing (Оплата).
На странице Оплата:
- Если для выбранного проекта уже включена оплата и у вас только один платежный аккаунт, откроется страница Оплата.
- Если у вас несколько платежных аккаунтов, нажмите Открыть этот аккаунт. Появится страница с информацией о платежном аккаунте, связанном с проектом.
- Если у вас есть платежный аккаунт, но он не связан с проектом, вам будет предложено связать их.
- Если у вас нет платежного аккаунта или вы хотите создать новый, выберите Manage Billing Accounts (Управление платежными аккаунтами). Подробнее о том, как создать платежный аккаунт Cloud для самостоятельного использования…
Включение API
Прежде чем использовать Roads API, необходимо включить его в облачном проекте Google Cloud с помощью консоли Google Cloud или команды gcloud.
Чтобы включить API, выполните следующие действия:
Консоль
Откройте страницу продукта в консоли Google Cloud:
Включите Roads APIНажмите Включить.
gcloud
gcloud services enable \ --project "PROJECT" \ "roads.googleapis.com"
Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:
Получите ключ API для использования с Roads API.
Продукты платформы Google Карт защищены от несанкционированного использования, поскольку принимают только те вызовы API, которые содержат ключ API.
Ключ API – это уникальная буквенно-цифровая строка, которая связывает ваш платежный аккаунт Cloud и облачный проект Google Cloud с запросом, который ваше приложение отправляет в API или SDK платформы Google Карт. Чтобы создать ключ или добавить API или SDK к существующему ключу, следуйте инструкциям ниже.
Консоль
-
Откройте страницу Google Maps Platform > Keys & Credentials (Платформа Google Карт > Ключи и учетные данные).
- Если появится запрос, выберите проект.
-
Выполните одно из следующих действий:
-
Создайте ключ.
- Нажмите Создать учетные данные > Ключ API.
- На панели Create API key (Создать ключ API) откройте список Select API restrictions (Выбрать ограничения API).
- Удалите все API, которые не нужны для этого ключа, и убедитесь, что Roads API выбран.
- Нажмите Создать. На панели появится новый ключ API.
-
Использовать существующий ключ:
- Нажмите на название ключа.
- В списке Select API restrictions (Выбрать ограничения API) выберите Roads API.
- Нажмите Сохранить.
Выбор API не означает его включение. Убедитесь, что Roads API включен на странице библиотеки API.
-
- Чтобы посмотреть строку ключа позже, перейдите на страницу Ключи и учетные данные и нажмите Показать ключ.
Если консоль выглядит иначе, чем описано в этих шагах, ознакомьтесь с разделами Создание ключа API и Добавление ограничений API в документации Google Cloud.
gcloud
В следующих командах замените PROJECT_ID идентификатором своего проекта.
-
Создайте новый ключ. Выполните следующую команду, заменив DISPLAY_NAME на название ключа.
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=roads.googleapis.com
Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:
-
Использовать существующий ключ. Выполните следующую команду, заменив KEY_ID идентификатором ключа. Флаг
--appendсохраняет API, которые уже разрешены ключом. Если его не указать, команда заменит их.gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=roads.googleapis.com
Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:
Идентификатор ключа – это не строка ключа и не отображаемое название. Чтобы найти его, выполните команду
gcloud services api-keys list --project="PROJECT_ID". Идентификатор – это последняя часть поляname:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.
Чтобы посмотреть строку ключа, выполните команду gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID".
Как отправить запрос к API
Выполните запрос Roads API, чтобы получить ответ JSON, в котором указанные точки привязаны к геометрии дороги. Вам необходимо включать буквенно-цифровой ключ API в каждый запрос и использовать протокол HTTPS для запросов, содержащих ключ API.
Нажмите API_KEY в коде ниже, чтобы вставить буквенно-цифровую строку ключа:
curl -L -X GET 'https://roads.googleapis.com/v1/snapToRoads
?path=-35.27801%2C149.12958%7C-35.28032%2C149.12907%7C-35.28099%2C149.12929%7C-35.28144%2C149.12984%7C-35.28194%2C149.13003%7C-35.28282%2C149.12956%7C-35.28302%2C149.12881%7C-35.28473%2C149.12836 &interpolate=true &key=YOUR_API_KEY' - Нажмите на значок копирования в примере кода
, чтобы скопировать команду curl. - Вставьте команду в окно терминала и запустите ее.
Вы получите объект JSON следующего вида:
{ "snappedPoints": [ { "location": { "latitude": -35.278004899930188, "longitude": 149.129531998742 }, "originalIndex": 0, "placeId": "ChIJr_xl0GdNFmsRsUtUbW7qABM" }, { "location": { "latitude": -35.2784195, "longitude": 149.12946589999999 }, "placeId": "ChIJr_xl0GdNFmsRsUtUbW7qABM" }, ... { "location": { "latitude": -35.284727644851415, "longitude": 149.12833853807396 }, "originalIndex": 7, "placeId": "ChIJtWxAZmpNFmsRlbUCkc6VtnA" } ] }
Как применить ограничения для ключа API
Мы настоятельно рекомендуем ограничивать использование ключей API только теми API и приложениями, которым они необходимы. Ограничение ключей API повышает безопасность вашего приложения, защищая его от нежелательных запросов. Для ключей API поддерживаются два типа ограничений:
- Ограничения API определяют, какие SDK и API можно вызывать с помощью ключа API. При создании ключа в консоли или gcloud CLI необходимо задать хотя бы одно ограничение API.
- Ограничения для приложений определяют, какие сайты, IP-адреса или приложения могут использовать ключ API.
Подробнее о том, как ограничить использование ключей API…
Дальнейшие действия
Теперь, когда вы включили Roads API и сделали успешный запрос, ознакомьтесь с информацией о привязке к дорогам, чтобы узнать больше об использовании API.