지도 관리 API를 사용하면 v2alpha(실험용) 및 v2beta (미리보기) 엔드포인트 모두에서 클라우드 기반 지도 스타일 지정 리소스를 프로그래매틱 방식으로 관리할 수 있습니다.
작업 요약
지도 관리 API로 맞춤 지도를 시각화하려면 다음 주요 단계를 따르세요.
- StyleConfig 만들기: 색상, 공개 상태, 밀도 설정의 JSON 표현을 사용하여 지도의 시각적 모양을 정의합니다.
- MapConfig 만들기: 지도의 ID 및 상위 수준 기능의 컨테이너 역할을 하는 고유한 지도 ID를 설정합니다.
- MapContextConfig와 연결:
StyleConfig(및 선택적 데이터세트)를MapConfig내에서 특정 지도 변형 (예:ROADMAP또는SATELLITE) 에 연결합니다.
기본 동작
v2 엔드포인트를 사용할 때는 다음 기본 동작에 유의하세요.
- 지도 유형: 기본 지도 렌더링 유형은
RASTER입니다. 벡터 기반 지도를 사용하려면MapConfig에서map_type을VECTOR로 명시적으로 설정해야 합니다. - 지도 변형:
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: 요청 본문의 형식이 잘못되었거나 잘못된 필드 값이 포함되어 있습니다.