Usar IDs de mapa

Os IDs de mapa são identificadores criados no Console do Google Cloud, associados a um estilo e inseridos no código do app para aplicar esse estilo ao mapa.

Após a criação, os IDs de mapa são associados a um projeto e também são restritos a uma única plataforma (Android, iOS, JavaScript) ou à API Maps Static.

Para criar ou gerenciar qualquer ID de mapa no Console do Cloud, você precisa ser editor ou proprietário do projeto no IAM.

Criar um ID de mapa

Um ID de mapa é um identificador exclusivo que representa uma única instância de um mapa do Google. É possível criar IDs de mapa e atualizar um estilo associado a eles a qualquer momento no Console do Cloud.

Basta seguir estas etapas:

  1. No Console do Cloud, acesse a página Gerenciamento de mapas.
  2. Clique em Criar novo ID de mapa para exibir o formulário Criar novo ID de mapa.
    Criar novo ID de mapa

    No formulário, siga estas etapas:

    • Especifique um nome para o mapa.
    • Escolha um tipo de mapa ou plataforma.
    • Para mapas JavaScript, escolha o tipo de mapa vetorial ou de varredura.
    • Insira uma descrição do mapa.
    • Clique em Próxima para exibir o novo ID de mapa.

Associar um ID de mapa a um estilo

Estas instruções presumem que haja pelo menos um estilo de mapa no seu projeto.

  1. No Console do Cloud, acesse a página Gerenciamento de mapas.
  2. Nessa página, selecione um ID de mapa atual na coluna Nome do mapa.
  3. Na parte inferior deste formulário, escolha um estilo no menu suspenso Estilos de mapa associados a este ID de mapa.
  4. Selecione Salvar.
    Captura de tela mostrando a página de detalhes de um único ID de mapa, incluindo o campo suspenso que permite aos usuários associar um estilo a esse ID.

Adicionar um ID de mapa ao seu app

Adicione o ID de mapa com um elemento <fragment> ao arquivo de layout da atividade usando a classe GoogleMapOptions de forma programática ou a classe MapView.

Por exemplo, suponha que você tenha criado um ID armazenado como um valor de string chamado map_id em res/values/strings.xml:

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

No caso de mapas adicionados ao arquivo de layout da atividade usando um elemento <fragment>, todos os fragmentos de mapa que devem ter o estilo personalizado precisam especificar o ID de mapa no atributo map:mapId:

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

Você também pode usar o atributo map:mapId da classe MapView para especificar um ID de mapa:

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

Se quiser especificar um ID de maneira programática, transmita-o para uma instância MapFragment usando a classe 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))
  )

No Android Studio, crie e execute seu app normalmente. Os estilos personalizados, conforme configurado na primeira etapa, serão aplicados a todos os mapas com um ID.