Map Management API 가이드 및 예시

지도 관리 API를 사용하면 v2alpha(실험용) 및 v2beta (미리보기) 엔드포인트 모두에서 클라우드 기반 지도 스타일 지정 리소스를 프로그래매틱 방식으로 관리할 수 있습니다.

작업 요약

지도 관리 API로 맞춤 지도를 시각화하려면 다음 주요 단계를 따르세요.

  1. StyleConfig 만들기: 색상, 공개 상태, 밀도 설정의 JSON 표현을 사용하여 지도의 시각적 모양을 정의합니다.
  2. MapConfig 만들기: 지도의 ID 및 상위 수준 기능의 컨테이너 역할을 하는 고유한 지도 ID를 설정합니다.
  3. MapContextConfig와 연결: StyleConfig (및 선택적 데이터세트)를 MapConfig 내에서 특정 지도 변형 (예: ROADMAP 또는 SATELLITE) 에 연결합니다.

기본 동작

v2 엔드포인트를 사용할 때는 다음 기본 동작에 유의하세요.

  • 지도 유형: 기본 지도 렌더링 유형은 RASTER입니다. 벡터 기반 지도를 사용하려면 MapConfig에서 map_typeVECTOR로 명시적으로 설정해야 합니다.
  • 지도 변형: map_variants를 만들 때 MapContextConfig가 지정되지 않으면 구성이 기본적으로 ROADMAP 변형에만 적용됩니다.
  • 기본 스타일 지정: json_style_sheet이(가) 비어 있거나 StyleConfig에 제공되지 않으면 스타일이 지정되지 않은 기본 Google 기본 지도가 사용됩니다.

StyleConfig 사용

StyleConfig에는 JSON 기반 스타일 지정 정의가 포함되어 있습니다.

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

StyleConfig 나열

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

MapConfig 사용

MapConfig는 지도의 ID 및 핵심 렌더링 유형을 정의합니다.

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"
}'

MapContextConfig 사용

MapContextConfig는 스타일 지정을 MapConfig에 연결합니다.

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

오류

  • PERMISSION_DENIED: 요청에 충분한 IAM 권한이 없거나 프로젝트에 API가 사용 설정되어 있지 않습니다.
  • NOT_FOUND: 지정된 리소스 (프로젝트, MapConfig 또는 StyleConfig) 가 없습니다.
  • INVALID_ARGUMENT: 요청 본문의 형식이 잘못되었거나 잘못된 필드 값이 포함되어 있습니다.