Referencia de JSON para el diseño de mapas basado en Cloud

Selecciona la plataforma: Android iOS JavaScript Servicio web

El esquema JSON para el diseño de mapas basado en Cloud te permite usar JSON para personalizar mapas de la misma manera que lo harías a través de la interfaz del editor de estilos. En este documento, se describe el esquema JSON y cómo realizar declaraciones de diseño JSON.

Descarga el esquema JSON

Para obtener información sobre cómo editar un diseño de mapa con JSON en el editor de estilos o cómo importar y exportar un diseño de mapa, consulta Cómo usar JSON con el diseño de mapas basado en Cloud.

Consulta un ejemplo de declaración de diseño JSON

En la siguiente declaración de diseño JSON, se establece un color de fondo y, luego, se definen los estilos para los lugares de interés, los parques y los componentes de agua, y se ocultan las etiquetas de las ubicaciones de comida y bebida.


{
  "variant": "light",
  "styles": [
    {
      "id": "natural.land",
      "geometry": {
        "fillColor": "#f7e3f7"
      }
    },
    {
      "id": "natural.water",
      "geometry": {
        "fillColor": "#d4b2ff"
      },
      "label": {
        "textFillColor": "#3d2163",
        "textStrokeColor": "#f0e1ff"
      }
    },
    {
      "id": "pointOfInterest",
      "label": {
        "pinFillColor": "#e0349a",
        "textFillColor": "#a11e6e",
        "textStrokeColor": "#ffd9f0"
      }
    },
    {
      "id": "pointOfInterest.emergency.hospital",
      "geometry": {
        "fillColor": "#ffe3e3"
      }
    },
    {
      "id": "pointOfInterest.foodAndDrink",
      "label": {
        "visible": false
      }
    },
    {
      "id": "pointOfInterest.recreation.park",
      "geometry": {
        "fillColor": "#f9b9d2"
      }
    }
  ]
}

El objeto JSON

Una declaración de diseño JSON consta de un objeto de nivel superior y un array de reglas de estilo.

  • Propiedades de nivel superior (opcional): Son parámetros de configuración de estilo globales, como backgroundColor y variant.
  • styles : Es un array de objetos de reglas de estilo que puede constar de lo siguiente:
    • id : Es el componente de mapa que se seleccionará para esta modificación de diseño (p.ej., pointOfInterest.recreation.park).
    • geometry (opcional): Son los elementos geométricos del componente de mapa y las reglas de estilo que se aplicarán (p.ej., fillColor).
    • label (opcional): Es la etiqueta de texto o de pin del componente de mapa y las reglas de estilo que se aplicarán (p.ej., textStrokeColor).

Propiedades de nivel superior

Las propiedades de la siguiente tabla se aplican a todo el estilo de mapa.

Propiedad Tipo Descripción Ejemplo

backgroundColor

String Personaliza el color de fondo de la app de mapas con una cadena hexadecimal #RRGGBB. Este parámetro de configuración no admite cambios en la opacidad. "#002211"

variant

"light"|"dark" Especifica el modo claro u oscuro. Si no se especifica, el valor predeterminado es "light". "light"

monochrome

booleano Para habilitar el modo monocromático, usa true para obtener una versión en gris del mapa.

true

metadata

objeto Son datos arbitrarios de par clave-valor incluidos en la definición de estilo. Puedes usar este campo para incluir contenido no relacionado con el estilo. Estos datos no se envían a clientes de mapas, como el SDK de Maps JavaScript.

{"author": "me", "date": "2026-04-27"}

Objetos de reglas de estilo

En esta sección, se describen las propiedades que definen los objetos de reglas de estilo en el array styles para personalizar los componentes de mapa. Cada objeto de reglas de estilo debe constar de lo siguiente:

  • Propiedad id
  • Elemento geometry o label con las propiedades de percheros asociadas definidas

id (componente de mapa)

La propiedad id especifica el componente de mapa al que se le aplicará el estilo. Los nombres de las propiedades son versiones en camel case de los nombres de los componentes de mapa en el editor de estilos.

Los componentes de mapa forman un árbol de categorías. Si especificas un tipo de componente superior, como pointOfInterest, los estilos que especifiques para este se aplicarán a todos sus componentes secundarios, como pointOfInterest.retail y pointOfInterest.lodging. Para obtener más información, consulta Jerarquía de los componentes de mapa.

Lista de propiedades id disponibles

Las propiedades id disponibles son las siguientes:

  • pointOfInterest
  • pointOfInterest.emergency
  • pointOfInterest.emergency.fire
  • pointOfInterest.emergency.hospital
  • pointOfInterest.emergency.pharmacy
  • pointOfInterest.emergency.police
  • pointOfInterest.entertainment
  • pointOfInterest.entertainment.arts
  • pointOfInterest.entertainment.casino
  • pointOfInterest.entertainment.cinema
  • pointOfInterest.entertainment.historic
  • pointOfInterest.entertainment.museum
  • pointOfInterest.entertainment.themePark
  • pointOfInterest.entertainment.touristAttraction
  • pointOfInterest.foodAndDrink
  • pointOfInterest.foodAndDrink.bar
  • pointOfInterest.foodAndDrink.cafe
  • pointOfInterest.foodAndDrink.restaurant
  • pointOfInterest.foodAndDrink.winery
  • pointOfInterest.landmark
  • pointOfInterest.lodging
  • pointOfInterest.recreation
  • pointOfInterest.recreation.beach
  • pointOfInterest.recreation.boating
  • pointOfInterest.recreation.fishing
  • pointOfInterest.recreation.golfCourse
  • pointOfInterest.recreation.hotSpring
  • pointOfInterest.recreation.natureReserve
  • pointOfInterest.recreation.park
  • pointOfInterest.recreation.peak
  • pointOfInterest.recreation.sportsComplex
  • pointOfInterest.recreation.sportsField
  • pointOfInterest.recreation.trailhead
  • pointOfInterest.recreation.zoo
  • pointOfInterest.retail
  • pointOfInterest.retail.grocery
  • pointOfInterest.retail.shopping
  • pointOfInterest.service
  • pointOfInterest.service.atm
  • pointOfInterest.service.bank
  • pointOfInterest.service.carRental
  • pointOfInterest.service.evCharging
  • pointOfInterest.service.gasStation
  • pointOfInterest.service.parkingLot
  • pointOfInterest.service.postOffice
  • pointOfInterest.service.restStop
  • pointOfInterest.service.restroom
  • pointOfInterest.transit
  • pointOfInterest.transit.airport
  • pointOfInterest.other
  • pointOfInterest.other.bridge
  • pointOfInterest.other.cemetery
  • pointOfInterest.other.government
  • pointOfInterest.other.library
  • pointOfInterest.other.military
  • pointOfInterest.other.placeOfWorship
  • pointOfInterest.other.school
  • pointOfInterest.other.townSquare
  • political
  • political.countryOrRegion
  • political.border
  • political.reservation
  • political.stateOrProvince
  • political.city
  • political.sublocality
  • political.neighborhood
  • political.landParcel
  • infrastructure
  • infrastructure.building
  • infrastructure.building.commercial
  • infrastructure.businessCorridor
  • infrastructure.roadNetwork
  • infrastructure.roadNetwork.noTraffic
  • infrastructure.roadNetwork.noTraffic.pedestrianMall
  • infrastructure.roadNetwork.noTraffic.trail
  • infrastructure.roadNetwork.noTraffic.trail.paved
  • infrastructure.roadNetwork.noTraffic.trail.unpaved
  • infrastructure.roadNetwork.parkingAisle
  • infrastructure.roadNetwork.ramp
  • infrastructure.roadNetwork.road
  • infrastructure.roadNetwork.road.arterial
  • infrastructure.roadNetwork.road.highway
  • infrastructure.roadNetwork.road.local
  • infrastructure.roadNetwork.road.noOutlet
  • infrastructure.roadNetwork.roadShield
  • infrastructure.roadNetwork.roadSign
  • infrastructure.roadNetwork.roadDetail
  • infrastructure.roadNetwork.roadDetail.surface
  • infrastructure.roadNetwork.roadDetail.crosswalk
  • infrastructure.roadNetwork.roadDetail.sidewalk
  • infrastructure.roadNetwork.roadDetail.intersection
  • infrastructure.railwayTrack
  • infrastructure.railwayTrack.commercial
  • infrastructure.railwayTrack.commuter
  • infrastructure.transitStation
  • infrastructure.transitStation.bicycleShare
  • infrastructure.transitStation.busStation
  • infrastructure.transitStation.ferryTerminal
  • infrastructure.transitStation.funicularStation
  • infrastructure.transitStation.gondolaStation
  • infrastructure.transitStation.monorail
  • infrastructure.transitStation.railStation
  • infrastructure.transitStation.railStation.subwayStation
  • infrastructure.transitStation.railStation.tramStation
  • infrastructure.urbanArea
  • natural
  • natural.continent
  • natural.archipelago
  • natural.island
  • natural.land
  • natural.land.landCover
  • natural.land.landCover.crops
  • natural.land.landCover.dryCrops
  • natural.land.landCover.forest
  • natural.land.landCover.ice
  • natural.land.landCover.sand
  • natural.land.landCover.shrub
  • natural.land.landCover.tundra
  • natural.water
  • natural.water.ocean
  • natural.water.lake
  • natural.water.river
  • natural.water.other
  • natural.base

Elementos

Los elementos son subdivisiones de un componente de mapa. Por ejemplo, una ruta consta de la línea gráfica (la geometry) en el mapa y el texto que describe su nombre (la label).

Los siguientes elementos se encuentran disponibles; sin embargo, ten en cuenta que un componente de mapa en particular puede admitir todos los elementos, algunos de ellos o ninguno:

  • geometry: Selecciona todos los elementos geométricos (p.ej., polígono, polilínea) del componente de mapa especificado.
  • label: Selecciona todos los elementos de etiqueta (p.ej., texto, pin) del componente de mapa especificado.

Percheros

Los percheros son la forma en que defines tus reglas de estilo para cada elemento de un componente de mapa.

Por ejemplo, para la huella de un edificio, puedes aplicar estilo a cada elemento de la siguiente manera:

Ejemplo de percheros geometry para un edificio Ejemplo de percheros label para un edificio
Indica si se debe ocultar o mostrar el polígono de la huella del edificio en el mapa. Indica si se debe ocultar o mostrar la etiqueta del edificio.
Indica el color y la opacidad del relleno del polígono. Indica el color de relleno y la opacidad del texto.
Indica el color, la opacidad y el ancho del borde. Indica el color y la opacidad del trazo del texto.

En esta sección, se describen las diferentes opciones de estilo disponibles para los elementos geometry y label.

Percheros geometry

En la siguiente tabla, se enumeran todos los percheros geométricos disponibles.

Parámetro de diseño Tipo Descripción

visible

booleano Para ocultar el polígono o la polilínea de un componente de mapa, establece false.

fillColor

string Personaliza el color del polígono o la polilínea con una cadena hexadecimal RGB.

fillOpacity

float Personaliza la opacidad del polígono o la polilínea, donde 0 es transparente y 1 es opaco.

strokeColor

string Personaliza el color del contorno con una cadena hexadecimal RGB.

strokeOpacity

float Personaliza la opacidad del contorno, donde 0 es transparente y 1 es opaco.

strokeWeight

float Personaliza el grosor del contorno en un rango de 0 a 8.

Para obtener más información, consulta Polígonos y polilíneas.

Percheros label

En la siguiente tabla, se enumeran todos los percheros de etiquetas disponibles.

Perchero Tipo Descripción

visible

booleano Para ocultar la etiqueta de un componente de mapa, establece false.

textFillColor

string Personaliza el color de la etiqueta de texto con una cadena hexadecimal RGB.

textFillOpacity

float Personaliza la opacidad de la etiqueta de texto, donde 0 es transparente y 1 es opaco.

textStrokeColor

string Personaliza el color del contorno con una cadena hexadecimal RGB.

textStrokeOpacity

float Personaliza la opacidad del contorno, donde 0 es transparente y 1 es opaco.

textStrokeWeight

float Personaliza el grosor del contorno en un rango de 0 a 8.

pinFillColor

string Personaliza el color del pin con una cadena hexadecimal RGB.

pinGlyphColor

string Personaliza el color del glifo (ícono) dentro de un pin con una cadena hexadecimal RGB.

pinOutlineColor

string Personaliza el color del contorno del pin con una cadena hexadecimal RGB.

Para obtener más información, consulta Íconos y etiquetas de texto.

Keyzooms

Puedes establecer un solo estilo para un componente para todos los niveles de keyzoom o especificar diferentes estilos para diferentes niveles de keyzoom. Si solo proporcionas un estilo, se usará para todos los niveles de keyzoom a partir de z0. Si proporcionas estilos para diferentes niveles de keyzoom, el estilo se aplicará desde ese nivel de zoom hasta el siguiente que hayas definido.

Para establecer un nivel de keyzoom para un estilo, en la propiedad del parámetro de diseño, define el nivel de keyzoom de z0 a z22 y, luego, la personalización del parámetro de diseño.

En el siguiente ejemplo, el color del agua es negro en los niveles de keyzoom del 0 al 5, gris oscuro en los niveles de keyzoom del 6 al 11 y gris claro a partir del nivel de keyzoom 12.

{
  "id": "natural.water",
  "geometry": {
    "fillColor": {
      "z0": "#000000",
      "z6": "#666666",
      "z12": "#cccccc"
    }
  }
}

Para obtener más información, consulta Niveles de zoom de los diseños.

Limitaciones

Puedes usar JSON para aplicar estilo a casi todo en la consola de Google Cloud, excepto las siguientes opciones del menú Configuración del mapa:

Estas opciones a nivel del mapa requieren una nueva recuperación de los datos de mosaicos para renderizarse correctamente, lo que puede ser no deseable para ciertos casos de uso.

Para estas opciones, debes seleccionar tu preferencia en el menú Configuración del mapa.

Como estas opciones no se incluyen en los estilos exportados, se deben volver a seleccionar en la consola de Google Cloud cuando se importa un estilo.