Использование идентификаторов карт

Идентификатор карты можно создать в Google Cloud Console, связать со стилем и использовать в коде приложения, чтобы применить этот стиль к карте.

Каждый идентификатор карты при создании связывается с проектом и определенной платформой (Android, iOS, JavaScript) или Maps Static API.

Создавать и изменять идентификаторы карт в Cloud Console могут только владельцы и редакторы проектов с правами на управление учетными данными и доступом (IAM).

Создание идентификатора карты

Идентификатор карты – это уникальный идентификатор конкретного экземпляра карты Google. В Cloud Console вы можете создавать идентификаторы карт и изменять стили, связанные с идентификаторами, в любой момент.

Для этого выполните следующие действия:

  1. Откройте Cloud Console и перейдите на страницу Управление картой.
  2. Нажмите Создать идентификатор карты. В Cloud Console откроется форма.
    Создание идентификатора карты

    В этой форме выполните следующие действия:

    • Укажите название карты.
    • Выберите тип или платформу карты.
    • Если карта используется с JavaScript, выберите ее тип (растровый или векторный).
    • Введите описание карты.
    • Нажмите Далее. Вы увидите на экране созданный идентификатор карты.

Связывание идентификатора карты со стилем карты

В приведенных ниже инструкциях подразумевается, что в вашем проекте есть хотя бы один стиль карты.

  1. Откройте Cloud Console и перейдите на страницу Управление картой.
  2. Выберите существующий идентификатор карты в столбце Название карты.
  3. В нижней части формы выберите стиль карты в раскрывающемся меню Стили, связанные с этим идентификатором карты.
  4. Нажмите Сохранить.
    Скриншот страницы с информацией об одном идентификаторе карты. Раскрывающееся меню позволяет связать стиль карты с этим идентификатором.

Добавление идентификатора карты в приложение

Вы можете добавить идентификатор карты в элемент <fragment> файла макета для объекта activity. Это можно сделать с помощью класса MapView или программным способом, с помощью класса GoogleMapOptions.

Допустим, вы создали идентификатор карты, который хранится в строковом значении map_id в файле res/values/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>

Если карта добавлена с помощью элемента <fragment> в файле фрагмента для объекта activity, то во всех фрагментах карты с этим стилем должен быть указан идентификатор карты в атрибуте map:mapId:

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    class="com.google.android.gms.maps.SupportMapFragment"
    …
    map:mapId="@string/map_id" />

Указать идентификатор карты можно также с помощью атрибута map:mapId класса MapView:

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    ....
    map:mapId="@string/map_id" />

Чтобы указать идентификатор карты программным способом, передайте его в экземпляр MapFragment с помощью класса GoogleMapOptions:

Java

  MapFragment mapFragment = MapFragment.newInstance(
      new GoogleMapOptions()
          .mapId(getResources().getString(R.string.map_id)));

Kotlin

  val mapFragment = MapFragment.newInstance(
      GoogleMapOptions()
          .mapId(resources.getString(R.string.map_id))
  )

Создайте и запустите приложение в Android Studio, как обычно. Собственные стили, настроенные на первом этапе, будут применены ко всем картам с идентификаторами.