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"
}'MapContextConfigs の操作
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: リクエスト本文の形式が正しくないか、無効なフィールド値が含まれています。