Przewodnik i przykłady interfejsu Map Management API

Interfejs Map Management API umożliwia programowe zarządzanie zasobami definiowania stylów map w Google Cloud w punktach końcowych v2alpha (eksperymentalny) i v2beta (wersja testowa).

Podsumowanie operacji

Aby zwizualizować mapę niestandardową za pomocą interfejsu Map Management API, wykonaj te najważniejsze czynności:

  1. Utwórz StyleConfig: zdefiniuj wygląd mapy za pomocą reprezentacji JSON ustawień kolorów, widoczności i gęstości.
  2. Utwórz MapConfig: utwórz unikalny identyfikator mapy, który będzie działać jako kontener dla tożsamości mapy i jej funkcji wysokiego poziomu.
  3. Powiąż je z MapContextConfig: połącz StyleConfig (i opcjonalne zbiory danych) z konkretnymi wariantami mapy (np. ROADMAP lub SATELLITE) w ramach MapConfig.

Działania domyślne

Podczas korzystania z punktów końcowych w wersji 2 pamiętaj o tych działaniach domyślnych:

  • Typ mapy: domyślny typ renderowania mapy to RASTER. Aby używać map wektorowych, musisz wyraźnie ustawić map_type na VECTOR w MapConfig.
  • Wariant mapy: jeśli podczas tworzenia MapContextConfig nie określono map_variants, konfiguracja zostanie domyślnie zastosowana tylko do wariantu ROADMAP.
  • Styl podstawowy: jeśli parametr json_style_sheet jest pusty lub nie został podany w obiekcie StyleConfig, zostanie użyta domyślna mapa podstawowa Google bez stylu.

Praca z obiektami StyleConfig

StyleConfig zawiera definicje stylów w formacie JSON.

Tworzenie obiektu StyleConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs \
-d '{
  "display_name": "My Custom Style",
  "json_style_sheet": "[{\"featureType\":\"all\",\"stylers\":[{\"saturation\":-100}]}]"
}'

Wyświetlanie listy StyleConfigs

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs

Praca z MapConfigs

MapConfig określa tożsamość i podstawowy typ renderowania mapy.

Tworzenie obiektu MapConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs \
-d '{
  "display_name": "My New Map",
  "map_type": "VECTOR"
}'

Praca z MapContextConfigs

MapContextConfig łączy stylizację z MapConfig.

Tworzenie obiektu MapContextConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs/YOUR_MAP_ID/mapContextConfigs \
-d '{
  "style_config": "projects/YOUR_PROJECT_ID/styleConfigs/YOUR_STYLE_ID",
  "map_variants": ["ROADMAP", "NAVIGATION"]
}'

Błędy

  • PERMISSION_DENIED: żądanie nie ma wystarczających uprawnień lub w projekcie nie włączono interfejsu API.
  • NOT_FOUND: określony zasób (Project, MapConfig lub StyleConfig) nie istnieje.
  • INVALID_ARGUMENT: treść żądania jest nieprawidłowo sformed lub zawiera nieprawidłowe wartości pól.