Hướng dẫn và ví dụ về API Quản lý bản đồ

Map Management API cho phép bạn quản lý các tài nguyên định kiểu bản đồ dựa trên đám mây bằng cách sử dụng API RESTful.

Tóm tắt các bước

  1. Sử dụng Cloud Console để tạo mã bản đồ (chỉ dành cho bản đồ vectơ dựa trên JavaScript).
  2. Sử dụng Cloud Console để tạo kiểu bản đồ. Kiểu bản đồ được dùng làm mối liên kết giữa mã bản đồ và một tập dữ liệu.
  3. Sử dụng Cloud Console hoặc Maps Datasets API để tạo một tập dữ liệu.
  4. Sử dụng Map Management API (API Quản lý bản đồ) để liên kết tập dữ liệu với mã kiểu.
  5. Sử dụng mã bản đồ trong một ứng dụng (JS, iOS hoặc Android) và sử dụng API tạo kiểu dựa trên dữ liệu để tạo kiểu cho các đối tượng trong tập dữ liệu.

Loại

DatasetStyleAssociation

Loại: Đối tượng/Proto

Đóng gói mối quan hệ giữa một tập dữ liệu hiện có và một ClientStyle hiện có.

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;

Phương thức

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";
  }

Ví dụ về lệnh gọi C++

Cuộc gọi mẫu để tạo điểm cuối

<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>

Cuộc gọi mẫu đến Điểm cuối danh sách

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

Lệnh gọi mẫu để liệt kê các bản đồ được liên kết

<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>

Cuộc gọi mẫu để xoá điểm cuối

<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>

Lỗi

  • PERMISSION_DENIED : Những lỗi này luôn nêu chi tiết về việc quyền truy cập vào tài nguyên bị từ chối. Ví dụ: khi API không được bật cho dự án đã cung cấp.

  • ALREADY_EXISTS: Được kích hoạt bằng lệnh gọi Tạo khi DatasetStyleAssociation đã tồn tại.

  • NOT_FOUND: Do bất kỳ phương thức nào ở trên kích hoạt khi có người cố gắng truy cập vào một tài nguyên không tồn tại, chẳng hạn như Kiểu, Tập dữ liệu hoặc Dự án.

  • INVALID_ARGUMENT: Yêu cầu có định dạng không chính xác.