คู่มือและตัวอย่าง Map Management API

Map Management API ช่วยให้คุณจัดการทรัพยากรการจัดรูปแบบแผนที่ในระบบคลาวด์ โดยใช้ RESTful API ได้

สรุปขั้นตอน

  1. ใช้ Cloud Console เพื่อสร้างรหัสแผนที่ (จำกัดเฉพาะแผนที่ที่อิงตามเวกเตอร์ JavaScript)
  2. ใช้ Cloud Console เพื่อสร้างรูปแบบ แผนที่ รูปแบบแผนที่จะใช้เป็นลิงก์ระหว่างรหัสแผนที่กับชุดข้อมูล
  3. ใช้ Cloud Console หรือ Maps Datasets API เพื่อสร้างชุดข้อมูล
  4. ใช้ Map Management API เพื่อเชื่อมโยงชุดข้อมูลกับรหัสรูปแบบ
  5. ใช้รหัสแผนที่ในแอปพลิเคชัน (JS, iOS หรือ Android) และใช้ 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: ทริกเกอร์โดยการเรียกใช้ Create เมื่อมี DatasetStyleAssociation อยู่แล้ว

  • NOT_FOUND: ทริกเกอร์โดยวิธีการข้างต้นเมื่อมีการพยายามเข้าถึงทรัพยากรที่ไม่มีอยู่ เช่น สไตล์ ชุดข้อมูล หรือโปรเจ็กต์

  • INVALID_ARGUMENT: คำขอมีรูปแบบไม่ถูกต้อง