Map Management API を使用すると、v2alpha(試験運用版)と v2beta(プレビュー版)の両方のエンドポイントで、Cloud ベースのマップのスタイル設定リソースをプログラムで管理できます。
オペレーションの概要
Map Management API を使用してカスタム地図を可視化する主な手順は次のとおりです。
- StyleConfig を作成する: 色、表示、密度の設定を JSON 形式で指定して、地図の外観を定義します。
- MapConfig を作成する: 地図の ID と高度な機能のコンテナとして機能する一意のマップ ID を設定します。
- MapContextConfig に関連付ける:
StyleConfig(およびオプションのデータセット)を、MapConfig内の特定の地図バリアント(ROADMAPやSATELLITEなど)にリンクします。
デフォルトの動作
v2 エンドポイントを使用する場合は、次のデフォルトの動作に注意してください。
- 地図タイプ: デフォルトの地図レンダリング タイプは
RASTERです。ベクターベースの地図を使用するには、MapConfigでmap_typeをVECTORに明示的に設定する必要があります。 - マップ バリアント:
MapContextConfigの作成時にmap_variantsが指定されていない場合、デフォルトでは構成がROADMAPバリアントにのみ適用されます。 - 基本スタイル設定:
StyleConfigでjson_style_sheetが空であるか指定されていない場合、デフォルトのスタイル設定されていない 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: 指定されたリソース(Project、MapConfig、StyleConfig)が存在しません。
- INVALID_ARGUMENT: リクエスト本文の形式が正しくないか、無効なフィールド値が含まれています。