Map Management API গাইড ও উদাহরণ

আপনি Map Management API ব্যবহার করে v2alpha (পরীক্ষামূলক) এবং v2beta (প্রিভিউ) এন্ডপয়েন্ট জুড়ে আপনার ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিং রিসোর্স প্রোগ্রাম্যাটিকভাবে ম্যানেজ করতে পারেন।

অপারেশনের সারসংক্ষেপ

Map Management API-এর মাধ্যমে কাস্টম ম্যাপ ভিজ্যুয়ালাইজ করতে, এইসব গুরুত্বপূর্ণ ধাপ অনুসরণ করুন:

  1. StyleConfig তৈরি করুন: রঙ, দৃশ্যমানতা এবং ঘনত্বের সেটিংসের JSON উপস্থাপনা ব্যবহার করে আপনার ম্যাপের ভিজ্যুয়াল চেহারা নির্ধারণ করুন।
  2. MapConfig তৈরি করুন: একটি অনন্য ম্যাপ আইডি তৈরি করুন যা আপনার ম্যাপের পরিচয় এবং উচ্চ-স্তরের ফিচারের জন্য কন্টেইনার হিসেবে কাজ করে।
  3. MapContextConfig-এর সাথে সেগুলি অ্যাসোসিয়েট করুন: আপনার MapConfig-এর মধ্যে নির্দিষ্ট ম্যাপ ভেরিয়েন্টের (যেমন ROADMAP বা SATELLITE) সাথে আপনার StyleConfig (এবং ঐচ্ছিক ডেটাসেট) লিঙ্ক করুন।

ডিফল্ট অ্যাকশন

v2 এন্ডপয়েন্ট ব্যবহার করার সময়, নিম্নলিখিত ডিফল্ট অ্যাকশন মনে রাখবেন:

  • ম্যাপের ধরন: ডিফল্ট ম্যাপ রেন্ডারিংয়ের ধরন হল RASTER। ভেক্টর-ভিত্তিক ম্যাপ ব্যবহার করতে, আপনাকে অবশ্যই আপনার MapConfig-এ map_type-কে VECTOR-এ স্পষ্টভাবে সেট করতে হবে।
  • ম্যাপ ভ্যারিয়েন্ট: MapContextConfig তৈরি করার সময় কোনও map_variants নির্দিষ্ট করা না থাকলে, কনফিগারেশনটি ডিফল্ট হিসেবে শুধুমাত্র ROADMAP ভ্যারিয়েন্টে প্রয়োগ করা হবে।
  • বেস স্টাইলিং: json_style_sheet খালি থাকলে বা StyleConfig-এ না দেওয়া থাকলে, ডিফল্ট আনস্টাইলড Google Base ম্যাপ ব্যবহার করা হবে।

StyleConfigs নিয়ে কাজ করা

StyleConfig-এ JSON-ভিত্তিক স্টাইলিং সংজ্ঞা থাকে।

StyleConfig তৈরি করুন

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs \
-d '{
  "display_name": "My Custom Style",
  "json_style_sheet": "[{\"featureType\":\"all\",\"stylers\":[{\"saturation\":-100}]}]"
}'

StyleConfigs-এর তালিকা

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs

MapConfigs নিয়ে কাজ করা

MapConfig কোনও ম্যাপের পরিচয় ও মূল রেন্ডারিংয়ের ধরন নির্ধারণ করে।

MapConfig তৈরি করুন

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs \
-d '{
  "display_name": "My New Map",
  "map_type": "VECTOR"
}'

MapContextConfigs নিয়ে কাজ করা

MapContextConfig, MapConfig-এর সাথে স্টাইলিং লিঙ্ক করে।

MapContextConfig তৈরি করুন

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs/YOUR_MAP_ID/mapContextConfigs \
-d '{
  "style_config": "projects/YOUR_PROJECT_ID/styleConfigs/YOUR_STYLE_ID",
  "map_variants": ["ROADMAP", "NAVIGATION"]
}'

সমস্যা

  • PERMISSION_DENIED: অনুরোধে পর্যাপ্ত IAM অনুমতি নেই অথবা প্রোজেক্টে API চালু করা নেই।
  • NOT_FOUND: নির্দিষ্ট করা রিসোর্স (Project, MapConfig বা StyleConfig) উপলভ্য নেই।
  • INVALID_ARGUMENT: অনুরোধের মূল অংশটি ভুলভাবে ফর্ম্যাট করা হয়েছে বা এতে ভুল ফিল্ড ভ্যালু রয়েছে।