Dokumentacja JSON definiowania stylów map w Google Cloud

Schemat JSON do definiowania stylów map w Google Cloud umożliwia dostosowywanie map za pomocą formatu JSON w taki sam sposób, jak w interfejsie edytora stylów. W tym dokumencie opisano schemat JSON i sposób tworzenia deklaracji stylu JSON.

Pobierz schemat JSON

Aby dowiedzieć się, jak edytować styl mapy za pomocą kodu JSON w edytorze stylów lub jak importować i eksportować styl mapy, przeczytaj artykuł Używanie kodu JSON w przypadku definiowania stylów map w Google Cloud.

Zobacz przykładową deklarację stylu JSON

Poniższa deklaracja stylu JSON ustawia kolor tła, a następnie definiuje style ciekawych miejsc, parków i obiektów wodnych oraz ukrywa etykiety miejsc, w których można coś zjeść lub wypić.


{
  "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"
      }
    }
  ]
}

Obiekt JSON

Deklaracja stylu JSON składa się z obiektu najwyższego poziomu i tablicy reguł stylu.

  • Właściwości najwyższego poziomu (opcjonalnie) – globalne ustawienia stylu, takie jak backgroundColor i variant.
  • styles – tablica obiektów reguł stylu, która może zawierać te elementy:
    • id – element mapy, który chcesz wybrać do modyfikacji stylu (np. pointOfInterest.recreation.park).
    • geometry (opcjonalny) – elementy geometryczne funkcji mapy i reguły stylu, które mają zostać zastosowane (np. fillColor).
    • label (opcjonalnie) – tekst lub etykieta pinezki elementu mapy oraz reguły stylu, które mają zostać zastosowane (np. textStrokeColor).

Właściwości najwyższego poziomu

Właściwości w poniższej tabeli dotyczą całego stylu mapy.

Właściwość Typ Opis Przykład

backgroundColor

Ciąg znaków Dostosuj kolor tła aplikacji mapowej, używając ciągu szesnastkowego #RRGGBB. To ustawienie nie obsługuje zmian przezroczystości. "#002211"

variant

"light"|"dark" Określ tryb jasny lub ciemny. Jeśli nie zostanie określony, domyślnie używany jest motyw „light”. „light”

monochrome

wartość logiczna Aby włączyć tryb monochromatyczny, użyj true, aby wyświetlić szarą wersję mapy.

true

metadata

obiekt Dowolne dane w postaci par klucz-wartość zawarte w definicji stylu. Możesz użyć tego pola, aby podać informacje o stylu, które nie są związane ze stylizacją. Te dane nie są wysyłane do klientów map, takich jak pakiet Maps JavaScript SDK.

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

Obiekty reguł stylu

W tej sekcji opisujemy właściwości, które definiują obiekty reguł stylu w tablicy styles, aby dostosować elementy mapy. Każdy obiekt reguły stylu musi składać się z tych elementów:

  • id.
  • Element geometry lub label ze zdefiniowanymi powiązanymi właściwościami stylera.

id (element mapy)

Właściwość id określa element mapy, którego styl chcesz zmienić. Nazwy właściwości to wersje nazw cech mapy w edytorze stylów zapisane w notacji wielbłądziej.

Elementy mapy tworzą drzewo kategorii. Jeśli określisz nadrzędny typ obiektu, np. pointOfInterest, style określone dla obiektu nadrzędnego będą stosowane do wszystkich obiektów podrzędnych, takich jak pointOfInterest.retail i pointOfInterest.lodging. Więcej informacji znajdziesz w artykule Hierarchia elementów mapy.

Lista dostępnych właściwości id

Dostępne właściwości id:

  • 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

Elementy

Elementy to podkategorie elementów mapy. Na przykład droga składa się z linii graficznej (geometry) na mapie oraz tekstu oznaczającego jej nazwę (label).

Dostępne są te elementy, ale pamiętaj, że konkretna funkcja mapy może obsługiwać żaden, niektóre lub wszystkie z nich:

  • geometry: wybiera wszystkie elementy geometryczne (np. wielokąt, linię łamaną) określonej funkcji mapy.
  • label: wybiera wszystkie elementy etykiety (np. tekst, pinezkę) określonej funkcji mapy.

Parownice

Stylery to sposób definiowania reguł stylu dla każdego elementu obiektu mapy.

Na przykład w przypadku obrysu budynku możesz nadać styl każdemu elementowi w ten sposób:

Przykładowe style geometry dla budynku Przykładowe style label dla budynku
Określa, czy wielokąt konturu budynku ma być ukryty czy widoczny na mapie. Określa, czy etykieta budynku ma być ukryta czy widoczna.
kolor i przezroczystość wypełnienia wielokąta; kolor wypełnienia tekstu i przezroczystość;
kolor, przezroczystość i szerokość obramowania; kolor i przezroczystość konturu tekstu;

W tej sekcji opisujemy różne opcje stylu dostępne dla elementów geometry i label.

geometry stylizatorów

W tabeli poniżej znajdziesz wszystkie dostępne stylizatory geometryczne.

Styler Typ Opis

visible

wartość logiczna Aby ukryć wielokąt lub linię łamaną elementu mapy, ustaw wartość false.

fillColor

tekst Dostosuj kolor wielokąta lub linii łamanej za pomocą ciągu szesnastkowego RGB.

fillOpacity

liczba zmiennoprzecinkowa Dostosuj nieprzezroczystość wielokąta lub linii łamanej, gdzie 0 oznacza przezroczystość, a 1 nieprzezroczystość.

strokeColor

tekst Dostosuj kolor konturu za pomocą ciągu szesnastkowego RGB.

strokeOpacity

liczba zmiennoprzecinkowa Dostosuj przezroczystość konturu, gdzie 0 oznacza przezroczysty, a 1 – nieprzezroczysty.

strokeWeight

liczba zmiennoprzecinkowa Dostosuj grubość konturu w zakresie od 0 do 8.

Więcej informacji znajdziesz w artykule na temat wielokątów i linii łamanych.

label stylizatorów

W tabeli poniżej znajdziesz wszystkie dostępne style etykiet.

Styler Typ Opis

visible

wartość logiczna Aby ukryć etykietę elementu mapy, ustaw wartość false.

textFillColor

tekst Dostosuj kolor etykiety tekstowej za pomocą ciągu szesnastkowego RGB.

textFillOpacity

liczba zmiennoprzecinkowa Dostosuj przezroczystość etykiety tekstowej, gdzie 0 oznacza przezroczystość, a 1 – nieprzezroczystość.

textStrokeColor

tekst Dostosuj kolor konturu za pomocą ciągu szesnastkowego RGB.

textStrokeOpacity

liczba zmiennoprzecinkowa Dostosuj przezroczystość konturu, gdzie 0 oznacza przezroczysty, a 1 – nieprzezroczysty.

textStrokeWeight

liczba zmiennoprzecinkowa Dostosuj grubość konturu w zakresie od 0 do 8.

pinFillColor

tekst Dostosuj kolor pinezki za pomocą ciągu szesnastkowego RGB.

pinGlyphColor

tekst Dostosuj kolor glifu (ikony) w pinezce za pomocą ciągu szesnastkowego RGB.

pinOutlineColor

tekst Dostosuj kolor konturu pinezki za pomocą ciągu szesnastkowego RGB.

Więcej informacji znajdziesz w artykule Ikony i etykiety tekstowe.

Klawisze powiększenia

Możesz ustawić jeden styl dla elementu na wszystkich poziomach zoomu początkowego lub określić różne style dla różnych poziomów zoomu początkowego. Jeśli podasz tylko jeden styl, będzie on używany na wszystkich poziomach zoomu początkowego, zaczynając od z0. Jeśli podasz style dla różnych poziomów zoomu początkowego, styl będzie stosowany od danego poziomu powiększenia do następnego zdefiniowanego poziomu.

Aby ustawić poziom zoomu początkowego dla stylu, we właściwości stylera określ poziom zoomu początkowego od z0 do z22, a następnie dostosuj styler.

W tym przykładzie kolor wody jest czarny na poziomach zoomu początkowego 0–5, ciemnoszary na poziomach 6–11 i jasnoszary od poziomu 12.

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

Więcej informacji znajdziesz w artykule Poziomy powiększenia stylu.

Ograniczenia

Za pomocą formatu JSON możesz określić styl prawie wszystkich elementów w konsoli Google Cloud, z wyjątkiem tych opcji w menu Ustawienia mapy:

Te opcje na poziomie mapy wymagają ponownego pobrania danych kafelków, aby mogły być prawidłowo renderowane, co w niektórych przypadkach może być niepożądane.

W przypadku tych opcji musisz wybrać preferencje w menu Ustawienia mapy.

Te opcje nie są uwzględniane w wyeksportowanych stylach, dlatego podczas importowania stylu musisz je ponownie wybrać w konsoli Google Cloud.