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 đồ dựa trên vectơ 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ã nhận dạng bản đồ trong một ứng dụng (JS, iOS hoặc Android) và sử dụng API định kiểu dựa trên dữ liệu để định kiểu 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ề các 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: Được kích hoạt bởi bất kỳ phương thức nào ở trên khi có nỗ lực 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 không đúng định dạng.