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, os IDs de mapa são associados a um projeto e também restritos a uma única plataforma (Android, iOS, JavaScript) ou à API Maps Static.
Para criar ou gerenciar IDs de mapa no console do Cloud, faça o seguinte: é preciso ter o papel Projeto Proprietário ou Editor de projeto do IAM
Permissões necessárias
Para criar ou gerenciar qualquer ID ou estilo de mapa em uma projeto do Google Cloud, é necessário ter o Papel do IAM de proprietário ou editor no projeto.
Criar um ID do mapa
Um ID do mapa é um identificador exclusivo que representa uma única instância de um serviço Mapa. Você pode criar IDs de mapa e atualizar um estilo associado a um ID de mapa a qualquer no console do Cloud.
Para criar um ID de 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 do 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 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 usando um elemento <fragment>
na seção
arquivo de layout, 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 do 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ê usa seu próprio ID do mapa, pode defini-lo. no console do Cloud para ter um novo estilo a qualquer momento, e esse estilo será refletido automaticamente na visualização do mapa para você e usuários em cerca de seis horas.
Se quiser ver as mudanças imediatamente, feche e reinicie seu aplicativo saindo do aplicativo, forçando a saída do aplicativo usado recentemente lista de apps e reabri-la. O mapa atualizado ficará visível.
JavaScript
Para criar um mapa com um ID no código do aplicativo:
Se você está personalizando o mapa com código JSON incorporado, remova o elemento 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 de mapa a um mapa novo ou existente que usa um de nossos
APIs web-service, anexe o parâmetro de URL map_id
e defina-o como o ID do mapa.
Neste exemplo, mostramos como adicionar um ID 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=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />
Recursos disponíveis ao usar IDs de mapas
Estilização de mapas baseada na nuvem: estilize, personalize e gerencie 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 vetores, desenhados no momento do carregamento.
no lado do cliente usando WebGL.
Disponível em JavaScript