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