Map Management API ガイドと例

Map Management API を使用すると、v2alpha(試験運用版)エンドポイントと v2beta(プレビュー)エンドポイントの両方で、Cloud ベースのマップのスタイル設定リソースをプログラムで管理できます。

オペレーションの概要

Map Management API を使用してカスタム地図を可視化する主な手順は次のとおりです。

  1. StyleConfig を作成する: 色、表示設定、密度設定の JSON 表現を使用して、地図の視覚的な外観を定義します。
  2. MapConfig を作成する: マップの ID と高レベルの機能のコンテナとして機能する一意のマップ ID を確立します。
  3. MapContextConfig に関連付ける: StyleConfig( 省略可のデータセット)を特定の地図バリアント(ROADMAPSATELLITE など)に MapConfig 内でリンクします。

デフォルトの動作

v2 エンドポイントを使用する場合は、次のデフォルトの動作に注意してください。

  • 地図タイプ: デフォルトの地図レンダリング タイプは RASTER です。ベクトルベースの地図を使用するには、MapConfigmap_typeVECTOR に明示的に設定する必要があります。
  • 地図バリアント: 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: リクエストの本文の形式が正しくないか、無効な フィールド値が含まれています。