ম্যাপ ম্যানেজমেন্ট এপিআই গাইড এবং উদাহরণ, ম্যাপ ম্যানেজমেন্ট এপিআই গাইড এবং উদাহরণ

ম্যাপ ম্যানেজমেন্ট এপিআই আপনাকে RESTful এপিআই ব্যবহার করে আপনার ক্লাউড-ভিত্তিক ম্যাপের স্টাইলিং রিসোর্সগুলো পরিচালনা করতে দেয়।

ধাপগুলোর সারসংক্ষেপ

  1. ক্লাউড কনসোল ব্যবহার করে একটি ম্যাপ আইডি তৈরি করুন (শুধুমাত্র জাভাস্ক্রিপ্ট ভেক্টর-ভিত্তিক ম্যাপের জন্য প্রযোজ্য)।
  2. ক্লাউড কনসোল ব্যবহার করে একটি ম্যাপ স্টাইল তৈরি করুন । একটি ম্যাপ স্টাইল ম্যাপ আইডি এবং ডেটাসেটের মধ্যে সংযোগ স্থাপনকারী হিসেবে ব্যবহৃত হয়।
  3. একটি ডেটাসেট তৈরি করতে ক্লাউড কনসোল অথবা ম্যাপস ডেটাসেট এপিআই ব্যবহার করুন।
  4. ডেটা সেটটিকে স্টাইল আইডির সাথে যুক্ত করতে ম্যাপ ম্যানেজমেন্ট এপিআই ব্যবহার করুন।
  5. অ্যাপ্লিকেশনে (JS, iOS, বা Android) ম্যাপ আইডি ব্যবহার করুন এবং ডেটাসেট ফিচারগুলোকে স্টাইল করতে ডেটা-ড্রাইভেন স্টাইলিং এপিআই ব্যবহার করুন।

প্রকারভেদ

ডেটাসেটস্টাইলঅ্যাসোসিয়েশন

ধরণ: অবজেক্ট/প্রোটো

একটি বিদ্যমান ডেটাসেট এবং একটি বিদ্যমান ক্লায়েন্ট স্টাইলের মধ্যকার সম্পর্ককে অন্তর্ভুক্ত করে।

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: অনুরোধটি ত্রুটিপূর্ণ।