Использование идентификаторов карт
Идентификатор карты можно создать в Google Cloud Console, связать со стилем и использовать в коде приложения, чтобы применить этот стиль к карте.
Каждый идентификатор карты при создании связывается с проектом и определенной платформой (Android, iOS, JavaScript) или Maps Static API.
Создавать и изменять идентификаторы карт в Cloud Console могут только владельцы и редакторы проектов с правами на управление учетными данными и доступом (IAM).
Создание идентификатора карты
Идентификатор карты – это уникальный идентификатор конкретного экземпляра карты Google. В Cloud Console вы можете создавать идентификаторы карт и изменять стили, связанные с идентификаторами, в любой момент.
Для этого выполните следующие действия:
- Откройте Cloud Console и перейдите на страницу Управление картой.
- Нажмите Создать идентификатор карты. В Cloud Console откроется форма.
В этой форме выполните следующие действия:
- Укажите название карты.
- Выберите тип или платформу карты.
- Если карта используется с JavaScript, выберите ее тип (растровый или векторный).
- Введите описание карты.
- Нажмите Далее. Вы увидите на экране созданный идентификатор карты.
Связывание идентификатора карты со стилем карты
В приведенных ниже инструкциях подразумевается, что в вашем проекте есть хотя бы один стиль карты.
- Откройте Cloud Console и перейдите на страницу Управление картой.
- Выберите существующий идентификатор карты в столбце Название карты.
- В нижней части формы выберите стиль карты в раскрывающемся меню Стили, связанные с этим идентификатором карты.
- Нажмите Сохранить.
Добавление идентификатора карты в приложение
Вы можете добавить идентификатор карты в элемент <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, как обычно. Собственные стили, настроенные на первом этапе, будут применены ко всем картам с идентификаторами.