Map Management API ガイドと例

Map Management API を使用すると、RESTful API を使用して Cloud ベースのマップのスタイル設定リソースを管理できます。

ステップの概要

  1. Cloud コンソールを使用してマップ ID を作成します(JavaScript ベクターベースの地図に限定されます)。
  2. Cloud コンソールを使用して地図のスタイル を作成します。地図のスタイルは、マップ ID とデータセットのリンクとして使用されます。
  3. Cloud Console または Maps Datasets API を使用してデータセットを作成 します
  4. Map Management API を使用して、データセットをスタイル ID に関連付けます。
  5. アプリケーション(JS、iOS、Android)でマップ ID を使用し、データドリブン スタイル設定 API を使用してデータセットのフィーチャーのスタイルを設定します。

DatasetStyleAssociation

タイプ: オブジェクト/プロトコル

既存のデータセットと既存のクライアント スタイルの関係をカプセル化します。

message DatasetStyleAssociation {
  option (google.api.resource) = {
    type: "mapstyling.googleapis.com/DatasetStyleAssociation"
    pattern: "projects/{project}/datasets/{dataset}/clientStyles/{client_style}"
    plural: "datasetStyleAssociations",
    singular: "datasetStyleAssociation"
  };

  // Resource name.
  // projects/{project}/datasets/{dataset}/clientStyles/{client_style}
  string name = 1;

  // The resource name of the style.
  // projects/{project}/clientStyles/{client_style}
  string client_style = 2;

メソッド

CreateDatasetStyleAssociation

  rpc CreateDatasetStyleAssociation(CreateDatasetStyleAssociationRequest)
      returns (DatasetStyleAssociation) {
    option (google.api.http) = {
      post: "/v1/{parent=projects/*/datasets/*}"
      body: "dataset_style_association"
    };
    option (google.api.method_signature) =  parent,dataset_style_association";
  }

ListDatasetStyleAssociations

  rpc ListDatasetStyleAssociations(ListDatasetStyleAssociationsRequest)
      returns (ListDatasetStyleAssociationsResponse) {
    option (google.api.http) = {
      get: "/v1/{parent=projects/*/datasets/*}"
    };
    option (google.api.method_signature) = "parent";
  }

DeleteDatasetStyleAssociation

   rpc DeleteDatasetStyleAssociation(DeleteDatasetStyleAssociationRequest)
      returns (google.protobuf.Empty) {
    option (google.api.http) = {
      post: "/v1/{name=projects/*/datasets/*/clientStyles/*}:delete"
      body: "*"
    };
    option (google.api.method_signature) = "name";
  }

C++ 呼び出しの例

エンドポイントを作成する呼び出しのサンプル

<pre>curl --http2 -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/{dataset_id} -d '{name: "projects/{project_number}/datasets/{dataset_id}/clientStyles/{style_id}", client_style: "projects/{project_number}/clientStyles/{style_id}" }'</pre>

エンドポイントを一覧表示する呼び出しのサンプル

<pre>curl --http2 -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>'   https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/-</pre>

関連付けられた地図を一覧表示する呼び出しのサンプル

<pre>curl --http2 -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer  <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/<dataset-id>/clientStyles/<style_id>:listAssociatedMaps</pre>

エンドポイントを削除する呼び出しのサンプル

<pre>curl --http2 -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/<dataset_id>/clientStyles/<style_id>:delete -d '{"map_ids": ["map-id-1", "map-id-2"]}'</pre>

エラー

  • PERMISSION_DENIED : これらのエラーは、リソースへのアクセスが拒否された理由を常に詳しく説明します。たとえば、指定されたプロジェクトで API が有効になっていない場合などです。

  • ALREADY_EXISTS: DatasetStyleAssociation がすでに存在する場合に、Create 呼び出しによってトリガーされます。

  • NOT_FOUND: スタイル、データセット、プロジェクトなど、存在しないリソースにアクセスしようとすると、上記のいずれかのメソッドによってトリガーされます。

  • INVALID_ARGUMENT: リクエストの形式が正しくありません。