Maps SDK для Android: краткое руководство

Создайте приложение Android, отображающее карту, с помощью шаблона Google Maps Views для Android Studio. Если у вас есть существующий проект Android Studio, который вы хотите настроить, см. раздел Настройка проекта Android Studio .

Это краткое руководство предназначено для разработчиков, знакомых с основами разработки Android с использованием Kotlin или Java.

О среде разработки

Это краткое руководство было разработано с использованием Android Studio Hedgehog и плагина Android Gradle версии 8.2.

Настройка устройства Android

Чтобы запустить приложение, использующее Maps SDK для Android, необходимо развернуть его на устройстве Android или в эмуляторе Android, основанном на Android 5.0 или более поздней версии и включающем API Google.

  • Чтобы использовать устройство Android, следуйте инструкциям в разделе «Запуск приложений на аппаратном устройстве» .
  • Чтобы использовать эмулятор Android, вы можете создать виртуальное устройство и установить эмулятор с помощью диспетчера виртуальных устройств Android (AVD), который входит в состав Android Studio.

Создайте проект Google Maps в Android Studio.

Процедура создания проекта Google Maps в Android Studio была изменена в Flamingo и более поздних версиях Android Studio.

  1. Откройте Android Studio и нажмите «Новый проект» в окне «Добро пожаловать в Android Studio» .

  2. В окне «Новый проект» в категории «Телефон и планшет» выберите «Нет активности » и нажмите «Далее» .

  3. Заполните форму нового проекта :

    • Установите язык Java или Kotlin. Оба языка полностью поддерживаются Maps SDK для Android. Дополнительные сведения о Kotlin см. в разделе «Разработка приложений для Android с помощью Kotlin» .

    • Установите минимальный SDK на версию SDK, совместимую с вашим тестовым устройством. Вы должны выбрать версию, превышающую минимальную версию, требуемую Maps SDK для Android версии 19.0.x, которая соответствует уровню Android API 21 («Lollipop»; Android 5.0) или выше. Актуальную информацию о требованиях к версии SDK см. в примечаниях к выпуску .

    • Установите язык конфигурации сборки Kotlin DSL или Groovy DSL. Фрагменты для обоих языков конфигураций сборки показаны в следующих процедурах.

  4. Нажмите «Готово» .

    Android Studio запускает Gradle и собирает проект. Это может занять некоторое время.

  5. Добавьте активность просмотров на Картах Google :

    1. Щелкните правой кнопкой мыши папку app в вашем проекте.
    2. Выберите «Создать» > «Google» > «Активность просмотров на Картах Google» .

      Добавьте действие с картами.

    3. В диалоговом окне «Новая активность Android» установите флажок «Активность запуска» .

    4. Выберите Готово .

      Дополнительные сведения см. в разделе Добавление кода из шаблона.

  6. По завершении сборки Android Studio открывает файлы AndroidManifest.xml и MapsActivity . Ваше действие может иметь другое имя, но оно будет тем, которое вы настроили во время установки.

Настройте свой проект Google Cloud

Выполните необходимые шаги по настройке облачной консоли, щелкнув следующие вкладки:

Шаг 1

Консоль

  1. В консоли Google Cloud на странице выбора проекта нажмите «Создать проект» , чтобы начать создание нового облачного проекта.

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

  2. Убедитесь, что для вашего облачного проекта включена оплата. Убедитесь, что для вашего проекта включена оплата .

    Google Cloud предлагает пробную версию за 0,00 доллара США. Срок действия пробной версии истекает либо по истечении 90 дней, либо после того, как на счету будет накоплено средств на сумму 300 долларов США, в зависимости от того, что наступит раньше. Отменить в любое время. Платформа Google Maps предлагает регулярный ежемесячный кредит в размере 200 долларов США. Дополнительные сведения см. в разделах Кредиты на счете выставления счетов и Выставление счетов .

Облачный SDK

gcloud projects create "PROJECT"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Шаг 2

Чтобы использовать платформу Google Maps, вам необходимо включить API или SDK, которые вы планируете использовать в своем проекте.

Консоль

Включите Maps SDK для Android

Облачный SDK

gcloud services enable \
    --project "PROJECT" \
    "maps-android-backend.googleapis.com"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Шаг 3

Этот шаг проходит только через процесс создания ключа API. Если вы используете свой ключ API в рабочей среде, мы настоятельно рекомендуем вам ограничить использование ключа API. Дополнительную информацию можно найти на странице «Использование ключей API» для конкретного продукта.

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

Чтобы создать ключ API:

Консоль

  1. Перейдите на платформу Google Maps > страницу «Учетные данные» .

    Перейдите на страницу учетных данных

  2. На странице «Учетные данные» нажмите «Создать учетные данные» > «Ключ API» .
    В диалоговом окне создания ключа API отображается только что созданный ключ API.
  3. Нажмите «Закрыть».
    Новый ключ API указан на странице «Учетные данные» в разделе «Ключи API» .
    (Не забудьте ограничить ключ API перед его использованием в рабочей среде.)

Облачный SDK

gcloud services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Добавьте ключ API в свое приложение

В этом разделе описывается, как хранить ключ API, чтобы ваше приложение могло безопасно ссылаться на него. Вам не следует проверять свой ключ API в системе контроля версий, поэтому мы рекомендуем хранить его в файле secrets.properties , который находится в корневом каталоге вашего проекта. Дополнительные сведения о файле secrets.properties см. в разделе Файлы свойств Gradle .

Чтобы упростить эту задачу, мы рекомендуем вам использовать плагин Secrets Gradle для Android .

Чтобы установить плагин Secrets Gradle для Android в свой проект Google Maps:

  1. В Android Studio откройте файл build.gradle.kts или build.gradle верхнего уровня и добавьте следующий код в элемент dependencies в buildscript .

    Котлин

    buildscript {
        dependencies {
            classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
        }
    }

    классный

    buildscript {
        dependencies {
            classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        }
    }
  2. Откройте файл build.gradle.kts или build.gradle уровня модуля и добавьте следующий код в элемент plugins .

    Котлин

    plugins {
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }

    классный

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. В файле build.gradle.kts или build.gradle на уровне модуля убедитесь, что для targetSdk и compileSdk установлено значение 34.
  4. Синхронизируйте свой проект с Gradle .
  5. Откройте файл secrets.properties в каталоге верхнего уровня, а затем добавьте следующий код. Замените YOUR_API_KEY своим ключом API. Сохраните свой ключ в этом файле, поскольку secrets.properties не подлежит проверке в системе контроля версий.
    MAPS_API_KEY=YOUR_API_KEY
  6. Создайте файл local.defaults.properties в каталоге верхнего уровня, в той же папке, что и файл secrets.properties , а затем добавьте следующий код.

    MAPS_API_KEY=DEFAULT_API_KEY

    Целью этого файла является предоставление резервного местоположения для ключа API, если файл secrets.properties не найден, чтобы сборка не завершалась сбоем. Это может произойти, если вы клонируете приложение из системы контроля версий, в которой отсутствует secrets.properties , и вы еще не создали файл secrets.properties локально, чтобы предоставить свой ключ API.

  7. В файле AndroidManifest.xml перейдите по адресу com.google.android.geo.API_KEY и обновите android:value attribute . Если тег <meta-data> не существует, создайте его как дочерний элемент тега <application> .
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />

    Примечание. com.google.android.geo.API_KEY — рекомендуемое имя метаданных для ключа API. Ключ с этим именем можно использовать для аутентификации в нескольких API-интерфейсах Google Maps на платформе Android, включая Maps SDK для Android. Для обратной совместимости API также поддерживает имя com.google.android.maps.v2.API_KEY . Это устаревшее имя позволяет выполнять аутентификацию только с помощью Android Maps API v2. Приложение может указать только одно из имен метаданных ключа API. Если указаны оба, API выдает исключение.

  8. В Android Studio откройте файл build.gradle.kts или build.gradle уровня модуля и отредактируйте свойство secrets . Если свойство secrets не существует, добавьте его.

    Отредактируйте свойства плагина, установив для propertiesFileName значение secrets.properties , установите defaultPropertiesFileName в значение local.defaults.properties и установите любые другие свойства.

    Котлин

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
            

    классный

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
            

Посмотрите на код

Изучите код, предоставленный шаблоном. В частности, обратите внимание на следующие файлы в вашем проекте Android Studio.

Файл действий на Картах

Файл активности карт является основным действием приложения и содержит код для управления картой и ее отображения. По умолчанию файл, определяющий действие, называется MapsActivity.java или, если вы установили Kotlin в качестве языка для своего приложения, MapsActivity.kt .

Основные элементы деятельности карт:

  • Объект SupportMapFragment управляет жизненным циклом карты и является родительским элементом пользовательского интерфейса приложения.

  • Объект GoogleMap обеспечивает доступ к данным карты и ее просмотру. Это основной класс Maps SDK для Android. В руководстве по объектам карты объекты SupportMapFragment и GoogleMap описаны более подробно.

  • Функция moveCamera центрирует карту по координатам LatLng для Сиднея, Австралия. Первыми настройками, которые необходимо настроить при добавлении карты, обычно являются местоположение карты и настройки камеры; такие как угол обзора, ориентация карты и уровень масштабирования. Подробную информацию см. в руководстве по камере и просмотру .

  • Функция addMarker добавляет маркер к координатам Сиднея. Подробности смотрите в руководстве по маркерам .

Модуль Gradle-файла

Файл модуля build.gradle.kts содержит следующую зависимость карт, которая требуется для Maps SDK для Android.

dependencies {

    // Maps SDK for Android
    implementation("com.google.android.gms:play-services-maps:19.0.0")
}

Дополнительные сведения об управлении зависимостями Maps см. в разделе Управление версиями .

XML-файл макета

Файл activity_maps.xml — это файл макета XML , определяющий структуру пользовательского интерфейса приложения. Файл находится в каталоге res/layout . В файле activity_maps.xml объявляется фрагмент, включающий следующие элементы:

  • tools:context устанавливает активность фрагмента по умолчанию MapsActivity , которая определена в файле активности карты.
  • android:name устанавливает имя класса фрагмента в SupportMapFragment , который является типом фрагмента, используемым в файле активности карт.

Файл макета XML содержит следующий код:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsActivity" />

Развертывание и запуск приложения

Снимок экрана с картой и маркером в центре города Синдней, Австралия.

Когда вы успешно запустите приложение, оно отобразит карту с центром в Сиднее, Австралия, с маркером города, как показано на следующем снимке экрана.

Чтобы развернуть и запустить приложение:

  1. В Android Studio щелкните пункт меню «Выполнить» (или значок кнопки воспроизведения), чтобы запустить приложение.
  2. При появлении запроса на выбор устройства выберите один из следующих вариантов:
    • Выберите устройство Android, подключенное к вашему компьютеру.
    • Либо выберите переключатель «Запустить эмулятор» и выберите виртуальное устройство, которое вы настроили.
  3. Нажмите ОК . Android Studio запустит Gradle для создания вашего приложения, а затем отобразит результаты на вашем устройстве или в эмуляторе. Запуск приложения может занять несколько минут.

Следующие шаги

  • Настройка карты . В этом документе описывается, как настроить исходные параметры и настройки времени выполнения для вашей карты, такие как положение камеры, тип карты, компоненты пользовательского интерфейса и жесты.

  • Добавьте карту в свое приложение Android (Kotlin) . В этой кодовой лаборатории вы познакомитесь с приложением, демонстрирующим некоторые дополнительные функции Maps SDK для Android.

  • Используйте библиотеку Maps Android KTX . Эта библиотека расширений Kotlin (KTX) позволяет вам воспользоваться преимуществами нескольких функций языка Kotlin при использовании Maps SDK для Android.

,

Создайте приложение Android, отображающее карту, с помощью шаблона Google Maps Views для Android Studio. Если у вас есть существующий проект Android Studio, который вы хотите настроить, см. раздел Настройка проекта Android Studio .

Это краткое руководство предназначено для разработчиков, знакомых с основами разработки Android с использованием Kotlin или Java.

О среде разработки

Это краткое руководство было разработано с использованием Android Studio Hedgehog и плагина Android Gradle версии 8.2.

Настройка устройства Android

Чтобы запустить приложение, использующее Maps SDK для Android, необходимо развернуть его на устройстве Android или в эмуляторе Android, основанном на Android 5.0 или более поздней версии и включающем API Google.

  • Чтобы использовать устройство Android, следуйте инструкциям в разделе «Запуск приложений на аппаратном устройстве» .
  • Чтобы использовать эмулятор Android, вы можете создать виртуальное устройство и установить эмулятор с помощью диспетчера виртуальных устройств Android (AVD), который входит в состав Android Studio.

Создайте проект Google Maps в Android Studio.

Процедура создания проекта Google Maps в Android Studio была изменена в Flamingo и более поздних версиях Android Studio.

  1. Откройте Android Studio и нажмите «Новый проект» в окне «Добро пожаловать в Android Studio» .

  2. В окне «Новый проект» в категории «Телефон и планшет» выберите «Нет активности » и нажмите «Далее» .

  3. Заполните форму нового проекта :

    • Установите язык Java или Kotlin. Оба языка полностью поддерживаются Maps SDK для Android. Дополнительные сведения о Kotlin см. в разделе «Разработка приложений для Android с помощью Kotlin» .

    • Установите минимальный SDK на версию SDK, совместимую с вашим тестовым устройством. Необходимо выбрать версию, превышающую минимальную версию, требуемую Maps SDK для Android версии 19.0.x, которая соответствует уровню Android API 21 («Lollipop»; Android 5.0) или выше. Актуальную информацию о требованиях к версии SDK см. в примечаниях к выпуску .

    • Установите язык конфигурации сборки Kotlin DSL или Groovy DSL. Фрагменты для обоих языков конфигураций сборки показаны в следующих процедурах.

  4. Нажмите «Готово» .

    Android Studio запускает Gradle и собирает проект. Это может занять некоторое время.

  5. Добавьте активность просмотров на Картах Google :

    1. Щелкните правой кнопкой мыши папку app в вашем проекте.
    2. Выберите «Создать» > «Google» > «Активность просмотров на Картах Google» .

      Добавьте действие с картами.

    3. В диалоговом окне «Новая активность Android» установите флажок «Активность запуска» .

    4. Выберите Готово .

      Дополнительные сведения см. в разделе Добавление кода из шаблона.

  6. По завершении сборки Android Studio открывает файлы AndroidManifest.xml и MapsActivity . Ваше действие может иметь другое имя, но оно будет тем, которое вы настроили во время установки.

Настройте свой проект Google Cloud

Выполните необходимые шаги по настройке облачной консоли, щелкнув следующие вкладки:

Шаг 1

Консоль

  1. В консоли Google Cloud на странице выбора проекта нажмите «Создать проект» , чтобы начать создание нового облачного проекта.

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

  2. Убедитесь, что для вашего облачного проекта включена оплата. Убедитесь, что для вашего проекта включена оплата .

    Google Cloud предлагает пробную версию за 0,00 доллара США. Срок действия пробной версии истекает либо по истечении 90 дней, либо после того, как на счету будет накоплено средств на сумму 300 долларов США, в зависимости от того, что наступит раньше. Отменить в любое время. Платформа Google Maps предлагает регулярный ежемесячный кредит в размере 200 долларов США. Дополнительные сведения см. в разделах Кредиты на счете выставления счетов и Выставление счетов .

Облачный SDK

gcloud projects create "PROJECT"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Шаг 2

Чтобы использовать платформу Google Maps, вам необходимо включить API или SDK, которые вы планируете использовать в своем проекте.

Консоль

Включите Maps SDK для Android

Облачный SDK

gcloud services enable \
    --project "PROJECT" \
    "maps-android-backend.googleapis.com"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Шаг 3

Этот шаг проходит только через процесс создания ключа API. Если вы используете свой ключ API в рабочей среде, мы настоятельно рекомендуем вам ограничить использование ключа API. Дополнительную информацию можно найти на странице «Использование ключей API» для конкретного продукта.

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

Чтобы создать ключ API:

Консоль

  1. Перейдите на платформу Google Maps > страницу «Учетные данные» .

    Перейдите на страницу учетных данных

  2. На странице «Учетные данные» нажмите «Создать учетные данные» > «Ключ API» .
    В диалоговом окне создания ключа API отображается только что созданный ключ API.
  3. Нажмите «Закрыть».
    Новый ключ API указан на странице «Учетные данные» в разделе «Ключи API» .
    (Не забудьте ограничить ключ API перед его использованием в рабочей среде.)

Облачный SDK

gcloud services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Добавьте ключ API в свое приложение

В этом разделе описывается, как хранить ключ API, чтобы ваше приложение могло безопасно ссылаться на него. Вам не следует проверять свой ключ API в системе контроля версий, поэтому мы рекомендуем хранить его в файле secrets.properties , который находится в корневом каталоге вашего проекта. Дополнительные сведения о файле secrets.properties см. в разделе Файлы свойств Gradle .

Чтобы упростить эту задачу, мы рекомендуем вам использовать плагин Secrets Gradle для Android .

Чтобы установить плагин Secrets Gradle для Android в свой проект Google Maps:

  1. В Android Studio откройте файл build.gradle.kts или build.gradle верхнего уровня и добавьте следующий код в элемент dependencies в buildscript .

    Котлин

    buildscript {
        dependencies {
            classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
        }
    }

    классный

    buildscript {
        dependencies {
            classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        }
    }
  2. Откройте файл build.gradle.kts или build.gradle уровня модуля и добавьте следующий код в элемент plugins .

    Котлин

    plugins {
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }

    классный

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. В файле build.gradle.kts или build.gradle на уровне модуля убедитесь, что для targetSdk и compileSdk установлено значение 34.
  4. Синхронизируйте свой проект с Gradle .
  5. Откройте файл secrets.properties в каталоге верхнего уровня, а затем добавьте следующий код. Замените YOUR_API_KEY своим ключом API. Сохраните свой ключ в этом файле, поскольку secrets.properties не подлежит проверке в системе контроля версий.
    MAPS_API_KEY=YOUR_API_KEY
  6. Создайте файл local.defaults.properties в каталоге верхнего уровня, в той же папке, что и файл secrets.properties , а затем добавьте следующий код.

    MAPS_API_KEY=DEFAULT_API_KEY

    Целью этого файла является предоставление резервного местоположения для ключа API, если файл secrets.properties не найден, чтобы сборка не завершалась сбоем. Это может произойти, если вы клонируете приложение из системы контроля версий, в которой отсутствует secrets.properties , и вы еще не создали файл secrets.properties локально, чтобы предоставить свой ключ API.

  7. В файле AndroidManifest.xml перейдите по адресу com.google.android.geo.API_KEY и обновите android:value attribute . Если тег <meta-data> не существует, создайте его как дочерний элемент тега <application> .
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />

    Примечание. com.google.android.geo.API_KEY — рекомендуемое имя метаданных для ключа API. Ключ с этим именем можно использовать для аутентификации в нескольких API-интерфейсах Google Maps на платформе Android, включая Maps SDK для Android. Для обратной совместимости API также поддерживает имя com.google.android.maps.v2.API_KEY . Это устаревшее имя позволяет выполнять аутентификацию только с помощью Android Maps API v2. Приложение может указать только одно из имен метаданных ключа API. Если указаны оба, API выдает исключение.

  8. В Android Studio откройте файл build.gradle.kts или build.gradle уровня модуля и отредактируйте свойство secrets . Если свойство secrets не существует, добавьте его.

    Отредактируйте свойства плагина, установив для propertiesFileName secrets.properties , установите для defaultPropertiesFileName значение local.defaults.properties и установите любые другие свойства.

    Котлин

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
            

    классный

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
            

Посмотрите на код

Изучите код, предоставленный шаблоном. В частности, обратите внимание на следующие файлы в вашем проекте Android Studio.

Файл действий на Картах

Файл активности карт является основным действием приложения и содержит код для управления картой и ее отображения. По умолчанию файл, определяющий действие, называется MapsActivity.java или, если вы установили Kotlin в качестве языка для своего приложения, MapsActivity.kt .

Основные элементы деятельности карт:

  • Объект SupportMapFragment управляет жизненным циклом карты и является родительским элементом пользовательского интерфейса приложения.

  • Объект GoogleMap обеспечивает доступ к данным карты и ее просмотру. Это основной класс Maps SDK для Android. В руководстве по объектам карты объекты SupportMapFragment и GoogleMap описаны более подробно.

  • Функция moveCamera центрирует карту по координатам LatLng для Сиднея, Австралия. Первыми настройками, которые необходимо настроить при добавлении карты, обычно являются местоположение карты и настройки камеры; такие как угол обзора, ориентация карты и уровень масштабирования. Подробную информацию см. в руководстве по камере и просмотру .

  • Функция addMarker добавляет маркер к координатам Сиднея. Подробности смотрите в руководстве по маркерам .

Модуль Gradle-файла

Файл модуля build.gradle.kts содержит следующую зависимость карт, которая требуется для Maps SDK для Android.

dependencies {

    // Maps SDK for Android
    implementation("com.google.android.gms:play-services-maps:19.0.0")
}

Дополнительные сведения об управлении зависимостями Maps см. в разделе Управление версиями .

XML-файл макета

Файл activity_maps.xml — это файл макета XML , определяющий структуру пользовательского интерфейса приложения. Файл находится в каталоге res/layout . В файле activity_maps.xml объявляется фрагмент, включающий следующие элементы:

  • tools:context устанавливает активность фрагмента по умолчанию MapsActivity , которая определена в файле активности карт.
  • android:name устанавливает имя класса фрагмента в SupportMapFragment , который является типом фрагмента, используемым в файле активности карт.

Файл макета XML содержит следующий код:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsActivity" />

Развертывание и запуск приложения

Снимок экрана с картой и маркером в центре города Синдней, Австралия.

Когда вы успешно запустите приложение, оно отобразит карту с центром в Сиднее, Австралия, с маркером города, как показано на следующем снимке экрана.

Чтобы развернуть и запустить приложение:

  1. В Android Studio щелкните пункт меню «Выполнить» (или значок кнопки воспроизведения), чтобы запустить приложение.
  2. При появлении запроса на выбор устройства выберите один из следующих вариантов:
    • Выберите устройство Android, подключенное к вашему компьютеру.
    • Либо выберите переключатель «Запустить эмулятор» и выберите виртуальное устройство, которое вы настроили.
  3. Нажмите ОК . Android Studio запустит Gradle для создания вашего приложения, а затем отобразит результаты на вашем устройстве или в эмуляторе. Запуск приложения может занять несколько минут.

Следующие шаги

  • Настройка карты . В этом документе описывается, как настроить начальные параметры и настройки времени выполнения вашей карты, такие как положение камеры, тип карты, компоненты пользовательского интерфейса и жесты.

  • Добавьте карту в свое приложение Android (Kotlin) . В этой кодовой лаборатории вы познакомитесь с приложением, демонстрирующим некоторые дополнительные функции Maps SDK для Android.

  • Используйте библиотеку Maps Android KTX . Эта библиотека расширений Kotlin (KTX) позволяет вам воспользоваться преимуществами нескольких функций языка Kotlin при использовании Maps SDK для Android.

,

Создайте приложение Android, отображающее карту, с помощью шаблона Google Maps Views для Android Studio. Если у вас есть существующий проект Android Studio, который вы хотите настроить, см. раздел Настройка проекта Android Studio .

Это краткое руководство предназначено для разработчиков, знакомых с основами разработки Android с использованием Kotlin или Java.

О среде разработки

Это краткое руководство было разработано с использованием Android Studio Hedgehog и плагина Android Gradle версии 8.2.

Настройка устройства Android

Чтобы запустить приложение, использующее Maps SDK для Android, необходимо развернуть его на устройстве Android или в эмуляторе Android, основанном на Android 5.0 или более поздней версии и включающем API Google.

  • Чтобы использовать устройство Android, следуйте инструкциям в разделе «Запуск приложений на аппаратном устройстве» .
  • Чтобы использовать эмулятор Android, вы можете создать виртуальное устройство и установить эмулятор с помощью диспетчера виртуальных устройств Android (AVD), который входит в состав Android Studio.

Создайте проект Google Maps в Android Studio.

Процедура создания проекта Google Maps в Android Studio была изменена в Flamingo и более поздних версиях Android Studio.

  1. Откройте Android Studio и нажмите «Новый проект» в окне «Добро пожаловать в Android Studio» .

  2. В окне «Новый проект» в категории «Телефон и планшет» выберите «Нет активности » и нажмите «Далее» .

  3. Заполните форму нового проекта :

    • Установите язык Java или Kotlin. Оба языка полностью поддерживаются Maps SDK для Android. Дополнительные сведения о Kotlin см. в разделе «Разработка приложений для Android с помощью Kotlin» .

    • Установите минимальный SDK на версию SDK, совместимую с вашим тестовым устройством. Вы должны выбрать версию, превышающую минимальную версию, требуемую Maps SDK для Android версии 19.0.x, которая соответствует уровню Android API 21 («Lollipop»; Android 5.0) или выше. Актуальную информацию о требованиях к версии SDK см. в примечаниях к выпуску .

    • Установите язык конфигурации сборки Kotlin DSL или Groovy DSL. Фрагменты для обоих языков конфигураций сборки показаны в следующих процедурах.

  4. Нажмите «Готово» .

    Android Studio запускает Gradle и собирает проект. Это может занять некоторое время.

  5. Добавьте активность просмотров на Картах Google :

    1. Щелкните правой кнопкой мыши папку app в вашем проекте.
    2. Выберите «Создать» > «Google» > «Активность просмотров на Картах Google» .

      Добавьте действие с картами.

    3. В диалоговом окне «Новая активность Android» установите флажок «Активность запуска» .

    4. Выберите Готово .

      Дополнительные сведения см. в разделе Добавление кода из шаблона.

  6. По завершении сборки Android Studio открывает файлы AndroidManifest.xml и MapsActivity . Ваше действие может иметь другое имя, но оно будет тем, которое вы настроили во время установки.

Настройте свой проект Google Cloud

Выполните необходимые шаги по настройке облачной консоли, щелкнув следующие вкладки:

Шаг 1

Консоль

  1. В консоли Google Cloud на странице выбора проекта нажмите «Создать проект» , чтобы начать создание нового облачного проекта.

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

  2. Убедитесь, что для вашего облачного проекта включена оплата. Убедитесь, что для вашего проекта включена оплата .

    Google Cloud предлагает пробную версию за 0,00 доллара США. Срок действия пробной версии истекает либо по истечении 90 дней, либо после того, как на счету будет накоплено средств на сумму 300 долларов США, в зависимости от того, что наступит раньше. Отменить в любое время. Платформа Google Maps предлагает регулярный ежемесячный кредит в размере 200 долларов США. Дополнительные сведения см. в разделах Кредиты на счете выставления счетов и Выставление счетов .

Облачный SDK

gcloud projects create "PROJECT"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Шаг 2

Чтобы использовать платформу Google Maps, вам необходимо включить API или SDK, которые вы планируете использовать в своем проекте.

Консоль

Включите Maps SDK для Android

Облачный SDK

gcloud services enable \
    --project "PROJECT" \
    "maps-android-backend.googleapis.com"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Шаг 3

Этот шаг проходит только через процесс создания ключа API. Если вы используете свой ключ API в рабочей среде, мы настоятельно рекомендуем вам ограничить использование ключа API. Дополнительную информацию можно найти на странице «Использование ключей API» для конкретного продукта.

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

Чтобы создать ключ API:

Консоль

  1. Перейдите на платформу Google Maps > страницу «Учетные данные» .

    Перейдите на страницу учетных данных

  2. На странице «Учетные данные» нажмите «Создать учетные данные» > «Ключ API» .
    В диалоговом окне создания ключа API отображается только что созданный ключ API.
  3. Нажмите «Закрыть».
    Новый ключ API указан на странице «Учетные данные» в разделе «Ключи API» .
    (Не забудьте ограничить ключ API перед его использованием в рабочей среде.)

Облачный SDK

gcloud services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Добавьте ключ API в свое приложение

В этом разделе описывается, как хранить ключ API, чтобы ваше приложение могло безопасно ссылаться на него. Вам не следует проверять свой ключ API в системе контроля версий, поэтому мы рекомендуем хранить его в файле secrets.properties , который находится в корневом каталоге вашего проекта. Дополнительные сведения о файле secrets.properties см. в разделе Файлы свойств Gradle .

Чтобы упростить эту задачу, мы рекомендуем использовать плагин Secrets Gradle для Android .

Чтобы установить плагин Gradle Secrets для Android в вашем проекте Google Maps:

  1. В Android Studio откройте свой верхний уровень build.gradle.kts или файл build.gradle и добавьте следующий код в элемент dependencies под buildscript .

    Котлин

    buildscript {
        dependencies {
            classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
        }
    }

    Groovy

    buildscript {
        dependencies {
            classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        }
    }
  2. Откройте свой файл на уровне модуля build.gradle.kts или build.gradle и добавьте следующий код в элемент plugins .

    Котлин

    plugins {
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }

    Groovy

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. В вашем файле на уровне модуля build.gradle.kts или build.gradle убедитесь, что targetSdk и compileSdk устанавливаются на 34.
  4. Синхронизируйте ваш проект с Gradle .
  5. Откройте файл secrets.properties в вашем каталоге верхнего уровня, а затем добавьте следующий код. Замените YOUR_API_KEY на ключ API. Храните свой ключ в этом файле, потому что secrets.properties исключается из проверки в систему управления версиями.
    MAPS_API_KEY=YOUR_API_KEY
  6. Создайте файл local.defaults.properties в вашем каталоге верхнего уровня, та же папку, что и файл secrets.properties , а затем добавьте следующий код.

    MAPS_API_KEY=DEFAULT_API_KEY

    Цель этого файла состоит в том, чтобы предоставить местоположение резервного копирования для ключа API, если файл secrets.properties не найден, так что сборки не выполняются. Это может произойти, если вы клонируете приложение из системы управления версиями, которая пропускает secrets.properties secrets.properties

  7. В вашем файле AndroidManifest.xml перейдите по адресу com.google.android.geo.API_KEY и обновите android:value attribute . Если тег <meta-data> не существует, создайте его как ребенка из тега <application> .
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />

    Примечание: com.google.android.geo.API_KEY - это рекомендуемое имя метаданных для ключа API. Ключ с этим именем может использоваться для аутентификации в нескольких API на основе Google Maps на платформе Android, включая SDK для Android. Для обратной совместимости API также поддерживает имя com.google.android.maps.v2.API_KEY . Это устаревшее имя позволяет аутентификацию только для Api V2 Android Maps V2. Приложение может указать только одно из имен метаданных клавиш API. Если оба указаны, API бросает исключение.

  8. В Android Studio откройте свой файл на уровне модуля build.gradle.kts или build.gradle и отредактируйте свойство secrets . Если свойства secrets не существует, добавьте его.

    Отредактируйте свойства плагина, чтобы установить propertiesFileName на secrets.properties , установить defaultPropertiesFileName на local.defaults.properties и установить любые другие свойства.

    Котлин

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
            

    Groovy

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
            

Посмотрите на код

Изучите код, поставляемый шаблоном. В частности, посмотрите на следующие файлы в вашем проекте Android Studio.

Файл активности карт

Файл активности MAPS является основным действием для приложения и содержит код для управления и отображения карты. По умолчанию файл, который определяет деятельность, называется MapsActivity.java или, если вы установили Kotlin в качестве языка для вашего приложения, MapsActivity.kt .

Основные элементы деятельности карт:

  • Объект SupportMapFragment управляет жизненным циклом карты и является родительским элементом пользовательского интерфейса приложения.

  • Объект GoogleMap обеспечивает доступ к данным карты и представлению. Это основной класс карт SDK для Android. Руководство по объектам MAP описывает объекты SupportMapFragment и GoogleMap более подробно.

  • Функция moveCamera сосредоточена на карте на координатах LatLng для Сидней Австралии. Первыми настройками для настройки при добавлении карты обычно являются расположение карты и настройки камеры; такие как угол просмотра, ориентация карты и уровень масштабирования. Смотрите камеру и руководство по просмотру для деталей.

  • Функция addMarker добавляет маркер в координаты для Сиднея. Смотрите Руководство по маркерам для деталей.

Модуль Gradle File

Файл модуля build.gradle.kts включает в себя следующую зависимость карт, которая требуется для SDK Maps для Android.

dependencies {

    // Maps SDK for Android
    implementation("com.google.android.gms:play-services-maps:19.0.0")
}

Чтобы узнать больше об управлении зависимостью карт, см. Версии .

Файл макета XML

Файл activity_maps.xml - это файл макета XML , который определяет структуру пользовательского интерфейса приложения. Файл находится в каталоге res/layout . Файл activity_maps.xml объявляет фрагмент, который включает в себя следующие элементы:

  • tools:context устанавливает активность по умолчанию фрагмента для MapsActivity , которая определена в файле активности MAPS.
  • android:name устанавливает имя класса фрагмента в SupportMapFragment , который является типом фрагмента, используемым в файле активности карт.

Файл макета XML содержит следующий код:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsActivity" />

Развернуть и запустить приложение

Скриншот с картой и маркером, сосредоточенным на Syndney Australia.

Когда вы успешно запускаете приложение, оно отобразит карту, которая сосредоточена на Сиднейской Австралии с маркером в городе, как видно на следующем скриншоте.

Развернуть и запустить приложение:

  1. В Android Studio нажмите « Запуск меню» (или значок кнопки воспроизведения), чтобы запустить ваше приложение.
  2. При предложении выбрать устройство, выберите один из следующих вариантов:
    • Выберите устройство Android, которое подключено к вашему компьютеру.
    • В качестве альтернативы выберите радиозаготовитель запуска эмулятора и выберите настройку виртуального устройства.
  3. Нажмите ОК . Android Studio начнет Gradle для создания вашего приложения, а затем отобразит результаты на вашем устройстве или эмуляторе. Это может занять несколько минут до запуска приложения.

Следующие шаги

  • Установите карту : в этом документе описывается, как настроить начальные настройки и настройки времени выполнения для вашей карты, такие как положение камеры, тип карты, компоненты пользовательского интерфейса и жесты.

  • Добавьте карту в ваше приложение для Android (Kotlin) : этот Codelab проводит вас через приложение, которое демонстрирует некоторые дополнительные функции карт SDK для Android.

  • Используйте библиотеку Android KTX Android Android : эта библиотека Kotlin Extensions (KTX) позволяет воспользоваться несколькими языковыми функциями Kotlin при использовании карт SDK для Android.