Usar IDs de mapa
Um ID do mapa é um identificador associado a um recurso ou estilo de mapa específico. Configure um estilo de mapa e faça a associação dele a um ID no Console do Google Cloud. Depois, quando você faz referência um ID do mapa no código, o estilo associado é mostrado no seu app. Todas as atualizações de estilo que você fizer depois vão aparecer automaticamente no app, sem que os clientes precisem atualizar.
Após a criação, eles são associados a um projeto e 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.
Permissões necessárias
Para criar ou gerenciar qualquer ID ou estilo de mapa em um projeto do Google Cloud, você precisa ter o papel de proprietário ou editor do IAM no projeto.
Criar um ID do 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.
Para criar um ID do mapa:
- No Console do Cloud, acesse a página Gerenciamento de mapas.
- Clique em Criar novo ID de mapa para exibir o formulário 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.
- Selecione Próxima para mostrar o novo ID do mapa.
Associar um ID de mapa a um estilo
Estas instruções presumem que haja pelo menos um estilo de mapa no seu projeto.
- No Console do Cloud, acesse a página Gerenciamento de mapas.
- Nessa página, selecione um ID de mapa atual na coluna Nome do mapa.
- Na parte inferior deste formulário, escolha um estilo no menu suspenso Estilos de mapa associados a este ID de mapa.
- Selecione Salvar.
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 MapView
ou de forma programática usando a classe
GoogleMapOptions
.
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">YOUR_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"
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 do 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 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.
iOS
Para instanciar um mapa usando um ID, faça o seguinte:
- Crie um
GMSMapID
com a string de ID do mapa no console do Cloud. - 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: "<YOUR 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:@"<YOUR MAP ID>"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;
Se você estiver usando seu próprio ID de mapa, poderá definir um novo estilo no Cloud Console a qualquer momento. Esse estilo será refletido na visualização do mapa automaticamente para você e os usuários em cerca de seis horas.
Se você quiser conferir as mudanças imediatamente, feche e reinicie o app. Para isso, saia dele, forçando o encerramento da lista de apps usados recentemente e reabrindo-o. O mapa atualizado vai aparecer.
JavaScript
Para criar um mapa com um ID no código do aplicativo:
Se você estiver personalizando seu mapa com um código JSON incorporado, remova a propriedade
styles
do objetoMapOptions
. Caso contrário, pule esta etapa.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 a um mapa novo ou atual que usa uma das nossas APIs de serviço da Web, anexe o parâmetro de URL map_id
e defina-o como o ID do mapa.
Este exemplo mostra como adicionar um ID de 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=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />
Recursos disponíveis ao usar IDs de mapa
Estilo de mapa baseado na nuvem: estilize, personalize e gerencie seus mapas usando o Console do Google Cloud.
Disponível em todas as plataformas (Android, JavaScript, iOS e API Maps Static)
Mapas vetoriais: um mapa composto por blocos baseados em vetor, que são desenhados no momento do carregamento
no lado do cliente usando o WebGL.
Disponível no JavaScript