ম্যাপ ম্যানেজমেন্ট এপিআই আপনাকে RESTful এপিআই ব্যবহার করে আপনার ক্লাউড-ভিত্তিক ম্যাপের স্টাইলিং রিসোর্সগুলো পরিচালনা করতে দেয়।
ধাপগুলোর সারসংক্ষেপ
- ক্লাউড কনসোল ব্যবহার করে একটি ম্যাপ আইডি তৈরি করুন (শুধুমাত্র জাভাস্ক্রিপ্ট ভেক্টর-ভিত্তিক ম্যাপের জন্য প্রযোজ্য)।
- ক্লাউড কনসোল ব্যবহার করে একটি ম্যাপ স্টাইল তৈরি করুন । একটি ম্যাপ স্টাইল ম্যাপ আইডি এবং ডেটাসেটের মধ্যে সংযোগ স্থাপনকারী হিসেবে ব্যবহৃত হয়।
- একটি ডেটাসেট তৈরি করতে ক্লাউড কনসোল অথবা ম্যাপস ডেটাসেট এপিআই ব্যবহার করুন।
- ডেটা সেটটিকে স্টাইল আইডির সাথে যুক্ত করতে ম্যাপ ম্যানেজমেন্ট এপিআই ব্যবহার করুন।
- অ্যাপ্লিকেশনে (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: অনুরোধটি ত্রুটিপূর্ণ।