Map Management API 指南和範例

您可以使用 Map Management API,透過 RESTful API 管理雲端式地圖樣式設定資源。

步驟摘要

  1. 使用 Cloud 控制台建立地圖 ID (僅限 JavaScript 向量地圖)。
  2. 使用 Cloud 控制台建立地圖樣式。地圖樣式用作地圖 ID 和資料集之間的連結。
  3. 可以使用雲端控制台或地圖資料集 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:嘗試存取不存在的資源 (例如樣式、資料集或專案) 時,會透過上述任一方法觸發此錯誤。

  • 無效參數:請求格式錯誤。