Como criar IDs de mapa

Selecione a plataforma: Android iOS JavaScript Web Service

Um ID de mapa é um identificador exclusivo que representa as configurações de estilo e configuração do Google Maps armazenadas no Google Cloud. Você usa IDs de mapa para ativar recursos ou gerenciar e estilizar mapas nos seus sites e aplicativos. Você pode criar IDs de mapa para cada plataforma de que precisa (JavaScript, Android, iOS ou mapas estáticos) no projeto do console do Google Cloud, na página Gerenciamento de mapas.

Para mais detalhes e recursos que usam IDs de mapa, consulte Visão geral do ID do mapa.

Permissões necessárias

Para criar ou gerenciar IDs de mapa no seu projeto, use um principal com as permissões de nível de papel adequadas (Editor ou Proprietário) na página do IAM do console do Cloud para o projeto. Para mais detalhes, consulte Referência dos papéis básicos e predefinidos do IAM.

Criar IDs de mapa

Crie IDs de mapa no console do Cloud seguindo estas etapas:

  1. Faça login e abra um projeto do console do Cloud com as permissões necessárias.

  2. No console do Cloud, acesse a página Gerenciamento de mapas.

  3. Clique em Criar ID do mapa.

    Criar novo ID de mapa

  4. Na página Criar novo ID de mapa, faça o seguinte:

    1. Em Nome, atribua um nome ao ID do mapa.
    2. Opcional: em Descrição, descreva para que o ID do mapa é usado.
    3. Em Tipo de mapa, selecione a plataforma em que você planeja usar o ID. Se você escolher JavaScript, também selecione um tipo de mapa Raster (o padrão) ou Vetor. Para mais informações sobre mapas vetoriais, consulte Mapas vetoriais.
    4. Clique em Salvar para mostrar seu novo ID do mapa.

Associar um ID do mapa a um estilo

Se você estiver usando a Estilização de mapas baseada na nuvem, associe um estilo ao ID do mapa. Para mais detalhes, consulte Associar seu estilo a um ID do mapa.

Adicionar o ID do mapa ao seu app

Android

Adicione o ID do mapa com um elemento <fragment> no 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 do mapa 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">MAP_ID</string>
</resources>

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

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    map:name="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 do mapa:

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

Se quiser especificar um ID de maneira programática, transmita 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 configurados na primeira etapa são aplicados a todos os mapas com o ID especificado.

iOS

Para instanciar um mapa usando um ID, faça o seguinte:

  1. Crie um GMSMapID com a string de ID do mapa do console do Cloud.
  2. Crie um GMSMapView especificando o ID do mapa que você acabou de criar.

Swift

let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "MAP_ID")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
                                                        longitude:-122.336471
                                                             zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;

Se você estiver usando seu próprio ID do mapa, poderá definir um novo estilo no console do Cloud a qualquer momento. Esse estilo será refletido automaticamente na visualização do mapa para você e os usuários em cerca de seis horas.

Se quiser ver as mudanças imediatamente, feche e reinicie o app. Para isso, saia do app, force o encerramento dele na lista de apps usados recentemente e abra novamente. O mapa atualizado vai aparecer.

JavaScript

Para criar um mapa com um ID no código do aplicativo:

  1. Se você já estiver personalizando seu mapa com código JSON incorporado, remova a propriedade styles do objeto MapOptions. Caso contrário, pule esta etapa.

  2. Adicione um ID ao mapa usando a propriedade mapId. Exemplo:

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
mapId: 'MAP_ID'
});

Maps Static

Para adicionar um ID do mapa a um mapa novo ou atual que usa uma das nossas APIs de serviço da Web, adicione o parâmetro de URL map_id e defina como seu ID do mapa. Este exemplo mostra como adicionar um ID de mapa a um mapa usando a API Maps Static.

<img src="https://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=YOUR_API_KEY&map_id=MAP_ID&signature=YOUR_SIGNATURE" />

Um mapa centralizado na Brooklyn Bridge, em Nova York, NY, EUA, com controles no canto inferior direito. O mapa mostra um estilo personalizado nas vias, na água e na terra.

Se você tiver uma assinatura digital no URL estático do Maps antes de adicionar o ID do mapa, crie e adicione uma nova assinatura digital depois de adicionar o ID do mapa. Ao gerar uma nova chave secreta de assinatura do URL, remova a assinatura digital anterior do URL.