Dokumentacja JSON definiowania stylów map w Google Cloud

Wybierz platformę: Android iOS JavaScript Web Service

Schemat JSON definiowania stylów map w Google Cloud umożliwia dostosowywanie map za pomocą JSON tak samo jak w interfejsie edytora stylów. W tym dokumencie opisujemy schemat JSON oraz sposób tworzenia deklaracji stylu JSON.

Pobierz schemat JSON

Aby dowiedzieć się, jak edytować styl mapy za pomocą JSON w edytorze stylów lub jak importować i eksportować styl mapy, przeczytaj artykuł Używanie JSON w definiowaniu 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 dla ciekawych miejsc, parków i zbiorników wodnych oraz ukrywa etykiety lokalizacji, w których można zjeść i 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 (opcjonalne) – 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 ma zostać wybrany do modyfikacji stylu (np. pointOfInterest.recreation.park).
    • geometry (opcjonalne) – elementy geometryczne elementu mapy i reguły stylu, które mają zostać zastosowane (np. fillColor).
    • label (opcjonalne) – etykieta tekstowa lub pinezka 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 tabeli poniżej dotyczą całego stylu mapy.

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

backgroundColor

Ciąg znaków Dostosuj kolor tła aplikacji mapy za pomocą ciągu szesnastkowego #RRGGBB string. To ustawienie nie obsługuje zmian przezroczystości. "#002211"

variant

"light"|"dark" Określ tryb jasny lub ciemny. Jeśli nie określisz żadnego trybu, domyślnie zostanie użyty tryb „jasny”. "light"

monochrome

Wartość logiczna Aby włączyć tryb monochromatyczny, użyj wartości true w przypadku szarej wersji mapy.

true

metadata

Obiekt Dowolne dane w postaci par klucz-wartość zawarte w definicji stylu. Za pomocą tego pola możesz umieścić treści niezwiązane ze stylem. 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 zawierać te elementy:

  • właściwość id;
  • element geometry lub label ze zdefiniowanymi powiązanymi właściwościami stylizatora.

id (element mapy)

Właściwość id określa element mapy, który ma zostać stylizowany. Nazwy właściwości to wersje nazw elementów mapy w edytorze stylów zapisane w notacji camel case.

Elementy mapy tworzą drzewo kategorii. Jeśli określisz typ elementu nadrzędnego, takich jak pointOfInterest, style określone dla elementu nadrzędnego będą stosowane do wszystkich jego elementó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 podziały elementu 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 dany element mapy może obsługiwać niektóre, wszystkie lub żadne z nich:

  • geometry: wybiera wszystkie elementy geometryczne (np. wielokąt, polilinia) określonego elementu mapy.
  • label: wybiera wszystkie elementy etykiety (np. tekst, pinezka) określonego elementu mapy.

Stylizatory

Stylizatory służą do definiowania reguł stylu dla każdego elementu mapy.

Na przykład w przypadku obrysu budynku możesz stylizować każdy element w ten sposób:

Przykładowe stylizatory geometry dla budynku Przykładowe stylizatory label dla budynku
Określa, czy wielokąt obrysu budynku ma być widoczny na mapie. Określa, czy etykieta budynku ma być widoczna.
Kolor wypełnienia i przezroczystość wielokąta. Kolor wypełnienia i przezroczystość tekstu.
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.

Stylizatory geometry

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

Stylizator Typ Opis

visible

Wartość logiczna Aby ukryć wielokąt lub polilinię elementu mapy, ustaw wartość false.

fillColor

Ciąg znaków Dostosuj kolor wielokąta lub linii łamanej za pomocą ciągu szesnastkowego RGB.

fillOpacity

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

strokeColor

Ciąg znaków Dostosuj kolor konturu za pomocą ciągu szesnastkowego RGB.

strokeOpacity

Liczba zmiennoprzecinkowa Dostosuj przezroczystość konturu, gdzie 0 oznacza przezroczystość, a 1 – nieprzezroczystość.

strokeWeight

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

Więcej informacji znajdziesz w artykule Wielokąty i polilinie.

Stylizatory label

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

Stylizator Typ Opis

visible

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

textFillColor

Ciąg znaków 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

Ciąg znaków Dostosuj kolor konturu za pomocą ciągu szesnastkowego RGB.

textStrokeOpacity

Liczba zmiennoprzecinkowa Dostosuj przezroczystość konturu, gdzie 0 oznacza przezroczystość, a 1 – nieprzezroczystość.

textStrokeWeight

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

pinFillColor

Ciąg znaków Dostosuj kolor pinezki za pomocą ciągu szesnastkowego RGB.

pinGlyphColor

Ciąg znaków Dostosuj kolor glifu (ikony) w pinezce za pomocą ciągu szesnastkowego RGB.

pinOutlineColor

Ciąg znaków 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 1 styl, będzie on używany na wszystkich poziomach powiększenia od z0. Jeśli podasz style dla różnych poziomów zoomu początkowego, styl będzie stosowany od tego poziomu powiększenia do następnego zdefiniowanego poziomu.

Aby ustawić zoom początkowy dla stylu, we właściwości stylizatora zdefiniuj zoom początkowy od z0 do z22, a następnie dostosowanie stylizatora.

W tym przykładzie kolor wody jest czarny na poziomach zoomu początkowego od 0 do 5, ciemnoszary na poziomach zoomu początkowego od 6 do 11 i jasnoszary od poziomu zoomu początkowego 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ą JSON możesz stylizować prawie wszystko 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 były prawidłowo renderowane, co w niektórych przypadkach może być niepożądane.

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

Ponieważ te opcje nie są uwzględniane w eksportowanych stylach, podczas importowania stylu należy je ponownie wybrać w konsoli Google Cloud.