Map Management API ガイドと例

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

ステップの概要

  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

タイプ: オブジェクト/Proto

既存のデータセットと既存の ClientStyle の関係をカプセル化します。

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: リクエストの形式が正しくありません。