Настройка

На этой странице описано, что нужно сделать, чтобы начать разработку с помощью Maps 3D SDK для Android. Для этого нужно настроить проект Google Cloud и API для использования с SDK, а затем настроить проект Android Studio. Выполните эти действия, прежде чем добавить первую 3D-карту в приложение.

Требования

Чтобы использовать Maps 3D SDK для Android, ваш проект и целевые устройства должны соответствовать следующим требованиям:

  • Минимальный уровень API: Android API 24 (Android 7.0) или выше. Приложение должно быть предназначено для minSdk версии 24 или выше.
  • Сервисы Google Play. Maps 3D SDK для Android зависит от сервисов Google Play. На целевых устройствах (и эмуляторах с API Google) должны быть установлены сервисы Google Play.

Как настроить проект Google Cloud и ключ API

Чтобы начать разработку с помощью Maps 3D SDK для Android, вам нужно настроить проект Google Cloud и ключ API для использования с Maps 3D SDK для Android, выполнив следующие действия:

Шаг 1. Настройте проект

Консоль

  1. Перейдите на страницу выбора проекта в консоли Google Cloud и нажмите Create Project (Создать проект).

    Перейти на страницу выбора проекта

  2. Убедитесь, что для проекта Google Cloud включены платежные функции.

    Мы предлагаем бесплатный пробный период для использования Google Cloud. Он длится 90 дней или пока сумма расходов не достигнет 300 долл. США в зависимости от того, что произойдет раньше. Отказаться от предложения можно в любое время. Ознакомьтесь с информацией о бонусах в платежных аккаунтах и об оплате.

Cloud SDK

gcloud projects create "PROJECT"

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Шаг 2. Включите API или SDK

Для работы с платформой Google Карт вам потребуется включить API и SDK, которые будут использоваться в проекте.

Для некоторых проектов требуется включить несколько API и SDK. Если вы не знаете, какие продукты вам нужны, воспользуйтесь инструментом выбора API или прочитайте документацию по работе с соответствующими API и SDK.

Чтобы включить нужные API и SDK, выполните следующие действия:

Консоль

  1. Перейдите на страницу библиотеки Maps API в консоли Cloud Console, чтобы ознакомиться с API и SDK платформы Google Карт, которые можно включить для проекта:

    Перейти на страницу библиотеки Maps API

  2. Нажмите на API или SDK, который вы хотите включить.
    • Если появится кнопка Включить, нажмите ее, чтобы активировать API или SDK.
    • Если отобразится кнопка Управление API, это означает, что API или SDK уже включен и вам ничего не нужно делать.
    • Нажав на любую из этих кнопок, вы перейдете на панель управления для выбранного API или SDK. Чтобы деактивировать API или SDK для проекта, нажмите на кнопку Отключить.

Cloud SDK

Следующая команда активирует все API Maps, Routes и Places:

gcloud services enable \
    --project "PROJECT" \
    "addressvalidation.googleapis.com" \
    "areainsights.googleapis.com" \
    "tile.googleapis.com" \
    "aerialview.googleapis.com" \
    "elevation-backend.googleapis.com" \
    "routes.googleapis.com" \
    "geocoding-backend.googleapis.com" \
    "geolocation.googleapis.com" \
    "maps-android-backend.googleapis.com" \
    "maps-backend.googleapis.com" \
    "maps-embed-backend.googleapis.com" \
    "maps-ios-backend.googleapis.com" \
    "mapsplatformdatasets.googleapis.com" \
    "places-backend.googleapis.com" \
    "roads.googleapis.com" \
    "routeoptimization.googleapis.com" \
    "static-maps-backend.googleapis.com" \
    "street-view-image-backend.googleapis.com" \
    "timezone-backend.googleapis.com"

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Чтобы включить Environment API, используйте следующую команду:

gcloud services enable \
    --project "PROJECT" \
    "airquality.googleapis.com" \
    "solar.googleapis.com" \
    "pollen.googleapis.com" \
    "weather.googleapis.com"

3. Получите ключ API

На этом шаге рассматривается только создание ключа API. Если у вас есть собственный ключ API, мы настоятельно рекомендуем настроить для него ограничения. Подробная информация приводится в разделе Использование ключей API.

Ключ API – это уникальный идентификатор, который используется для аутентификации запросов, связанных с вашим проектом. Он нужен для учета использования API и оплаты. С вашим проектом должен быть связан хотя бы один ключ API. Чтобы создать ключ или добавить API или SDK к существующему ключу, следуйте инструкциям ниже.

Консоль

  1. Откройте страницу Google Maps Platform > Keys & Credentials (Платформа Google Карт > Ключи и учетные данные).

    Перейти на страницу "Ключи и учетные данные"

  2. Если появится запрос, выберите проект.
  3. Выполните одно из следующих действий:

    • Создайте ключ.

      1. Нажмите Создать учетные данные > Ключ API.
      2. На панели Create API key (Создать ключ API) откройте список Select API restrictions (Выбрать ограничения API).
      3. Снимите флажки рядом с API, которые не нужны для этого ключа, и убедитесь, что флажки рядом с нужными API установлены.
      4. Нажмите Создать. На панели появится новый ключ API.
    • Использовать существующий ключ:

      1. Нажмите на название ключа.
      2. В списке Select API restrictions (Выбрать ограничения API) выберите API, которые планируете использовать.
      3. Нажмите Сохранить.

    Выбор API не означает его включение. Убедитесь, что каждый выбранный API включен в библиотеке API.

  4. Чтобы посмотреть строку ключа позже, перейдите на страницу Ключи и учетные данные и нажмите Показать ключ.

Если консоль выглядит иначе, чем описано в этих шагах, ознакомьтесь с разделами Создание ключа API и Добавление ограничений API в документации Google Cloud.

Cloud SDK

В следующих командах замените PROJECT_ID идентификатором своего проекта.

  • Создайте новый ключ. Выполните следующую команду, заменив DISPLAY_NAME на название ключа. Замените SERVICE_NAME названием сервиса API, который вы планируете использовать, например places.googleapis.com. Чтобы разрешить больше API, повторите флаг --api-target.

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=SERVICE_NAME

    Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

  • Использовать существующий ключ. Выполните следующую команду, заменив KEY_ID идентификатором ключа. Замените SERVICE_NAME названием сервиса API, который нужно добавить. Флаг --append сохраняет API, которые уже разрешены ключом. Если его не указать, команда заменит их.

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=SERVICE_NAME

    Прочитайте статьи о 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".

Чтобы включить SDK, перейдите на страницу Maps 3D SDK для Android в консоли Google Cloud. Подробная информация о том, как выполнить эти действия, приведена в статье Начало работы с платформой Google Карт.

Настройка проекта Android Studio

В этом разделе объясняется, как создать и настроить проект Android Studio для использования с Maps 3D SDK для Android.

Часть 1. Настройка проекта и конфигурации Gradle

  1. Создайте проект Android Studio, используя шаблон Empty Views Activity (Пустое действие представлений). В конфигурации проекта установите для параметра Minimum SDK (Минимальная версия SDK) значение API 24 или выше.

  2. Если вы используете Git для управления исходным кодом, измените файл .gitignore проекта, чтобы файл с секретными ключами не был зафиксирован в системе управления версиями:

    • В корневом каталоге проекта откройте файл .gitignore.
    • Добавьте следующую строку:
    secrets.properties
    
  3. Обновите файл build.gradle.kts на уровне проекта:

    • В корневом каталоге проекта откройте файл build.gradle.kts.
    • В блоке plugins добавьте плагин Secrets Gradle:
    plugins {
      alias(libs.plugins.android.application) apply false
      alias(libs.plugins.kotlin.android) apply false
      alias(libs.plugins.secrets.gradle.plugin) apply false // Add this line
    }
    
  4. Обновите файл gradle/libs.versions.toml:

    • Откройте файл gradle/libs.versions.toml, который обычно находится в каталоге gradle в корневом каталоге проекта.
    • В разделе [versions] добавьте версии SDK и плагина Secrets Gradle:
    # See https://developers.google.com/android/guides/setup?device=phone-tablet for available releases
    maps3dSdk = "16.0.1"
    # See https://github.com/google/secrets-gradle-plugin/releases for available releases
    secretsGradlePlugin = "2.0.1"
    
    • В разделе [library] добавьте библиотеку SDK:
    play-services-maps3d = { module = "com.google.android.gms:play-services-maps3d", version.ref = "maps3dSdk" }
    
    • В разделе [plugins] добавьте плагин Secrets Gradle:
    secrets-gradle-plugin = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version.ref = "secretsGradlePlugin" }
    
  5. Обновите файл app/build.gradle.kts на уровне модуля:

    • Откройте файл build.gradle.kts уровня модуля, который обычно находится в каталоге app.
    • В верхней части файла добавьте плагин Secrets Gradle в блок plugins:
    plugins {
        alias(libs.plugins.android.application)
        alias(libs.plugins.kotlin.android)
        alias(libs.plugins.secrets.gradle.plugin) // Add this line
    }
    
    • В блоке dependencies добавьте зависимость сервисов Google Play для Maps 3D SDK для Android:
    dependencies {
        // ... other dependencies
        implementation(libs.play.services.maps3d) // Add this line
    }
    
    • В конце файла, за пределами блоков android и dependencies, добавьте конфигурацию секретов:
    secrets {
        // Optionally specify a different filename containing your secrets.
        // The plugin defaults to "local.properties"
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
    

Часть 2. Добавьте ключ API в проект

  1. Создайте файл secrets.properties.

    • В корневом каталоге модуля приложения (обычно это каталог app) создайте файл с названием secrets.properties.
    • Добавьте ключ API в файл:
    MAPS3D_API_KEY=YOUR_API_KEY_HERE
    
  2. Создайте файл local.defaults.properties: - В корневом каталоге модуля приложения создайте файл с названием local.defaults.properties. - Добавьте в файл ключ API по умолчанию или плейсхолдер. Этот файл можно добавить в систему управления версиями.

    MAPS3D_API_KEY=DEFAULT_API_KEY_OR_PLACEHOLDER
    

Часть 3. Обновите файл AndroidManifest.xml

  1. Откройте файл app/src/main/AndroidManifest.xml.

  2. Внутри тега <application> перед тегом <activity> добавьте следующий элемент <meta-data>, чтобы объявить ключ API:

    <application
        ...>
    
        <meta-data
            android:name="com.google.android.geo.maps3d.API_KEY"
            android:value="${MAPS3D_API_KEY}" />
    
        <activity
            ...>
        </activity>
    </application>
    

    Во время сборки плагин Secrets Gradle заменит плейсхолдер ${MAPS3D_API_KEY} ключом из файла secrets.properties.

Программная инициализация представления (необязательно)

Если вы хотите инициализировать представление карты программно, а не в макетах XML, используйте Map3DInitConfig.

import com.google.android.gms.maps3d.Map3DInitConfig
import com.google.android.gms.maps3d.Map3DView
import com.google.android.gms.maps3d.model.Map3DMode

// Set configuration options using the factory method
val config = Map3DInitConfig.create(
    mapMode = Map3DMode.HYBRID,
    centerLat = 38.544012,
    centerLng = -107.670428
)

val map3DView = Map3DView(context, config)

Дальнейшие действия

Теперь, когда у вас есть проект Google Cloud, ключ API и проект Android Studio, настроенный для работы с Maps 3D SDK для Android, вы можете добавить 3D-карту в приложение.