Cómo usar los IDs de mapa
Un ID de mapa es un identificador asociado con un estilo o un elemento específico del mapa. Configura un estilo de mapa y asócialo con un ID de mapa en Google Cloud Console. Luego, cuando hagas referencia a un ID de mapa en tu código, se mostrará el estilo de mapa asociado en tu app. Las actualizaciones de estilo posteriores que realices aparecerán en la app automáticamente, sin necesidad de que los clientes realicen actualizaciones.
Cuando se crean, los IDs de mapa se asocian con un proyecto y también restringidas a una sola plataforma (Android, iOS y JavaScript) o a la API de Maps Static.
Para crear o administrar cualquier ID de mapa en la consola de Cloud, debes hacer lo siguiente: debe tener el rol Nombre Rol de IAM propietario o editor del proyecto
Permisos necesarios
Para crear o administrar cualquier ID o diseño de mapa en una proyecto de Google Cloud determinado, debes tener el Rol de IAM de propietario o editor en el proyecto.
Crea un ID de mapa
Un ID de mapa es un identificador único que representa una sola instancia de una solicitud de Mapa. Puedes crear IDs de mapa y actualizar un diseño asociado con un ID de mapa en cualquier tiempo en la consola de Cloud.
Para crear un ID de mapa, sigue estos pasos:
- En Cloud Console, ve a la página Administración de mapas (Map Management).
- Haz clic en Crear ID de mapa nuevo (Create New Map ID) para mostrar el formulario Crea un ID de mapa nuevo.
En el formulario, haz lo siguiente:
- Especifica un nombre de mapa.
- Especifica un tipo de mapa o una plataforma.
- Para los mapas de JavaScript, elige el tipo de mapa de trama o vectorial.
- Ingresa una descripción del mapa.
- Selecciona Siguiente para mostrar el nuevo ID de mapa.
Cómo asociar un ID de mapa a un diseño de mapa
En estas instrucciones, se da por hecho que tu proyecto tiene al menos un estilo de mapa existente.
- En Cloud Console, ve a la página Administración de mapas (Map Management).
- En esta página, selecciona un ID de mapa existente en la columna Nombre del mapa.
- En la parte inferior de este formulario, elige un estilo de mapa del menú desplegable Estilos de mapa asociados con este ID de mapa (Map styles associated with this Map ID).
- Selecciona Guardar.
Agrega el ID de mapa a tu app
Android
Agrega tu ID de mapa mediante un elemento <fragment>
en la sección
de diseño, a través de la clase MapView
, o de manera programática con la clase
Clase GoogleMapOptions
.
Por ejemplo, supongamos que creaste un ID de mapa que se almacena como un valor de string llamado map_id
en res/values/strings.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>
Para los mapas agregados a través de un elemento <fragment>
en el archivo de diseño de la actividad, todos los fragmentos del mapa que deberían tener el estilo personalizado deben especificar el ID del mapa en el 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" />
También puedes usar el atributo map:mapId
de la clase MapView
para especificar un ID de mapa:
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
....
map:mapId="@string/map_id" />
Para especificar un ID de mapa de manera programática, pásalo a una instancia de MapFragment
utilizando la clase 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))
)
En Android Studio, compila y ejecuta tu app como lo harías normalmente. Los estilos personalizados, tal como se configuraron en el primer paso, se aplicarán a todos los mapas con un ID.
iOS
Para crear una instancia de un mapa con un ID de mapa, sigue estos pasos:
- Crea una
GMSMapID
con la cadena del ID de mapa de la consola de Cloud. - Crea una
GMSMapView
que especifique el ID de mapa que acabas de crear.
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;
Si usas tu propio ID de mapa, puedes configurar tu ID de mapa. en la consola de Cloud para tener un estilo nuevo en cualquier momento y ese diseño se reflejará automáticamente en tu vista de mapa para ti y a los usuarios en unas seis horas.
Si quieres ver los cambios de inmediato, puedes cerrarla y reiniciarla. tu aplicación saliendo de la aplicación, lo que fuerza el cierre de la aplicación desde la aplicación que se usó recientemente. lista de apps y, luego, vuelve a abrirla. Se mostrará el mapa actualizado.
JavaScript
Para crear un mapa con un ID de mapa en el código de tu aplicación, sigue estos pasos:
Si actualmente personalizas tu mapa con código JSON incorporado, quita el Propiedad
styles
desde tu objetoMapOptions
De lo contrario, omite este paso.Agrega un ID de mapa al mapa con la propiedad
mapId
. Por ejemplo:
map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 8, mapId: 'MAP_ID' });
Maps Static
Para agregar un ID de mapa a un mapa nuevo o existente que utilice uno de nuestros
las APIs de servicio web, agrega el parámetro de URL map_id
y configúralo en tu ID de mapa.
En este ejemplo, se muestra cómo agregar un ID de mapa a un mapa con la API de 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" />
Funciones disponibles al usar los IDs de mapa
Diseño de mapas basado en Cloud: Define, personaliza y administra tus mapas con la consola de Google Cloud.
Disponible en todas las plataformas (Android, JavaScript, iOS y API de Maps Static)
Mapas de vectores: Un mapa compuesto por mosaicos basados en vectores, que se dibujan durante el tiempo de carga
del cliente con WebGL.
Disponible en JavaScript