Map Tiles API-এর সাথে সেশন টোকেন ব্যবহার করা

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ডেভেলপার

সেশন টোকেন হল ডেটার একটি অংশ (a UUID) যা REST কলে ব্যবহার করা হয়, এর মাধ্যমে একটি সেশন—সম্পর্কিত মেসেজ আদানপ্রদানের ক্রম—শনাক্ত করা হয়। 2D টাইলস এবং Street View ছবির জন্য সমস্ত অনুরোধে আপনাকে অবশ্যই একটি সেশন টোকেন অন্তর্ভুক্ত করতে হবে। আপনি এটি সব অনুরোধের URL-এ যোগ করা session প্যারামিটারের ভ্যালু হিসেবে যোগ করেন।

Map Tiles API-তে, সেশন টোকেন ডিসপ্লে বিকল্পের একটি নির্দিষ্ট সেটকে প্রতিনিধিত্ব করে। এর অর্থ হল, প্রতিটি টাইল অনুরোধের সাথে আপনাকে ডিসপ্লে বিকল্পের সেট পাস করতে হবে না। আপনি একাধিক ক্লায়েন্ট জুড়ে একই সেশন টোকেন ব্যবহার করতে পারবেন। সেশন টোকেন বর্তমানে ইস্যু করার সময় থেকে দুই সপ্তাহ পর্যন্ত বৈধ থাকে, তবে এটি পরিবর্তন হতে পারে। আপনি সবসময় উত্তর মেসেজের expiry ফিল্ড দেখে সেশন টোকেনের মেয়াদ শেষ হওয়ার সময় চেক করতে পারবেন।

সেশন টোকেনের অনুরোধ

সেশন টোকেনের জন্য অনুরোধ করতে, নিম্নলিখিত উদাহরণে দেখানো createSession এন্ডপয়েন্টে একটি HTTPS POST অনুরোধ পাঠান। আপনাকে অবশ্যই Content-Type: application/json হেডার সহ অনুরোধ পাঠাতে হবে।

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

প্রয়োজনীয় ফিল্ড

mapType

বেস ম্যাপের ধরন। এই ভ্যালু নিম্নলিখিতগুলির মধ্যে যেকোনও একটি হতে পারে:

roadmap
স্ট্যান্ডার্ড Google Maps-এর আঁকা ম্যাপ টাইল।
satellite
স্যাটেলাইট ইমেজ।
terrain
টি ভূদৃশ্য সংক্রান্ত ছবি। ম্যাপের ধরন হিসেবে terrain বেছে নিলে, আপনাকে অবশ্যই layerRoadmap লেয়ারের ধরনও যোগ করতে হবে (যা ঐচ্ছিক ফিল্ড বিভাগে বর্ণনা করা হয়েছে)।
streetview
Street View প্যানোরামা। আরও তথ্যের জন্য, Street View টাইল দেখুন।
language

একটি IETF ভাষা ট্যাগ যা টাইলসে তথ্য দেখানোর জন্য ব্যবহৃত ভাষা নির্দিষ্ট করে। যেমন, en-US মার্কিন যুক্তরাষ্ট্রে বলা ইংরেজি ভাষাকে নির্দিষ্ট করে।

region

Common Locale Data Repository অঞ্চল শনাক্তকারী (দুটি বড় হাতের অক্ষর) যা ব্যবহারকারীর ভৌগোলিক অবস্থান প্রদর্শন করে। যেমন, US

ঐচ্ছিক ফিল্ড

imageFormat
ফেরত পাঠানোর জন্য ফাইল ফর্ম্যাট নির্দিষ্ট করে। সঠিক ভ্যালু হয় jpeg অথবা png। JPEG ফাইলে ট্রান্সপারেন্সি কাজ করে না, তাই ওভারলে টাইলসের জন্য এটি ব্যবহার না করার সাজেশন দেওয়া হয়। আপনি imageFormat উল্লেখ না করলে, টাইলের জন্য সবচেয়ে ভাল ফর্ম্যাট অটোমেটিক বেছে নেওয়া হয়।
scale

ম্যাপ এলিমেন্টের (যেমন, রাস্তার লেবেল) সাইজ বড় করে, তবে ডিফল্ট টাইলের টাইলের সাইজ ও কভারেজ এরিয়া অপরিবর্তিত রাখে। স্কেল বাড়ালে ম্যাপে লেবেলের সংখ্যাও কমে যায়, যার ফলে ম্যাপে বিশৃঙ্খলা কমে। নিচের মানগুলি সঠিক scale মান:

  • scaleFactor1x: ডিফল্ট।
  • scaleFactor2x: লেবেলের সাইজ দ্বিগুণ করে এবং ছোটখাটো ফিচার লেবেল সরিয়ে দেয়।
  • scaleFactor4x: লেবেলের সাইজ চারগুণ করে এবং ছোটখাটো ফিচার লেবেল সরিয়ে দেয়।

ম্যাপের এলিমেন্ট স্কেল করার প্রভাব নিম্নলিখিত উদাহরণ থেকে বোঝা যায়।

স্কেল ফ্যাক্টর ১x স্কেল ফ্যাক্টর ২ গুণ
ম্যাপে স্কেল ফ্যাক্টর ১x দেখানো হচ্ছে ম্যাপে স্কেল ফ্যাক্টর ২ গুণ দেখানো হচ্ছে
highDpi
হাই-রেজোলিউশন টাইল ফেরত দিতে হবে কিনা তা নির্দিষ্ট করে। স্কেল-ফ্যাক্টর বাড়ানো হলে, টাইল সাইজ বাড়াতে highDpi ব্যবহার করা হয়। সাধারণত, স্কেল ফ্যাক্টর বাড়ালে, ফলাফল হিসেবে পাওয়া টাইলটি একই সাইজের ছবিতে বড় হয়ে যায়, যার ফলে কোয়ালিটি কমে যায়। highDpi ব্যবহার করলে, কোয়ালিটি বজায় রেখে ফাইল সাইজও বেড়ে যায়। DPI-এর অর্থ হল প্রতি ইঞ্চিতে ডটের সংখ্যা এবং হাই DPI-এর অর্থ হল টাইলটি স্বাভাবিকের চেয়ে প্রতি ইঞ্চিতে বেশি ডট ব্যবহার করে রেন্ডার করে। যদি true হয়, তাহলে x ও y ডাইমেনশনের প্রতিটি পিক্সেলের সংখ্যাকে স্কেল ফ্যাক্টর (অর্থাৎ , ২x বা ৪x) দিয়ে গুণ করা হয়। টাইলের কভারেজ এরিয়া অপরিবর্তিত থাকে। এই প্যারামিটারটি শুধুমাত্র scale ভ্যালু 2x বা 4x-এর সাথে কাজ করে। ১x স্কেল টাইলের উপর এর কোনও প্রভাব পড়ে না।
স্কেল ফ্যাক্টর ১x স্কেল ফ্যাক্টর ২x হাই DPI
ম্যাপ সাধারণ রেজোলিউশনে দেখানো হয়েছে ম্যাপ 2x হাই DPI রেজোলিউশনে দেখানো হয়েছে
layerTypes

ভ্যালুর একটি অ্যারে যা ম্যাপে যোগ করা লেয়ারের ধরন নির্দিষ্ট করে। সঠিক ভ্যালু হল:

layerRoadmap
ম্যাপের ধরন হিসেবে terrain উল্লেখ করলে এটি প্রয়োজন। এছাড়াও, satellite ম্যাপের প্রকারের উপর ঐচ্ছিকভাবে ওভারলে করা যেতে পারে। রোডম্যাপ টাইলে কোনও প্রভাব ফেলে না।
layerStreetview
ম্যাপে নীল রঙের আউটলাইন ব্যবহার করে Street View-চালু করা রাস্তা ও লোকেশন দেখায়।
layerTraffic
বর্তমান ট্রাফিক পরিস্থিতি দেখায়।
styles

JSON স্টাইলের অবজেক্টের একটি অ্যারে যা রাস্তা, পার্ক এবং বিল্ট-আপ এলাকার মতো ম্যাপ ফিচারের চেহারা এবং বিবরণের লেভেল নির্দিষ্ট করে। স্ট্যান্ডার্ড Google বেস ম্যাপ কাস্টমাইজ করতে স্টাইলিং ব্যবহার করা হয়। styles প্যারামিটারটি শুধুমাত্র তখনই সঠিক হবে যদি ম্যাপের ধরন roadmap হয়। সম্পূর্ণ স্টাইল সিনট্যাক্সের জন্য, স্টাইল রেফারেন্স দেখুন।

overlay

একটি বুলিয়ান ভ্যালু যা নির্দিষ্ট করে যে layerTypes-কে আলাদা ওভারলে হিসেবে রেন্ডার করা হবে নাকি বেস ইমেজের সাথে কম্বাইন করা হবে। true হলে, বেস ম্যাপ দেখানো হয় না। আপনি কোনও layerTypes নির্ধারণ না করে থাকলে, এই ভ্যালু উপেক্ষা করা হয়।

যেমন, layerRoadmap লেয়ার সহ satellite ম্যাপের প্রকারের জন্য অনুরোধ করা এবং overlay-কে false-এ সেট করলে Maps JavaScript API-তে (বাঁদিকের ছবি) ব্যবহৃত hybrid ম্যাপের প্রকারের সমতুল্য টাইলস পাওয়া যায়। একই ম্যাপ ও লেয়ারের ধরন, যেখানে overlay-এর মান true-এ সেট করা আছে, তার ফলে একটি স্বচ্ছ টাইল তৈরি হয়, যার উপর ম্যাপ ওভারলে থাকে। এটি স্যাটেলাইট ইমেজের উপর ওভারলে করার জন্য উপযুক্তভাবে স্টাইল করা হয়েছে (ডানদিকের ছবি)।

overlay: false overlay: true
ওভারলে 'ফলস' হিসেবে সেট করা আছে ওভারলে 'সঠিক' হিসেবে সেট করা হয়েছে

নিম্নলিখিত JSON হল একটি সাধারণ অনুরোধের বডির উদাহরণ যাতে প্রয়োজনীয় এবং ঐচ্ছিক উভয় ফিল্ডই রয়েছে।

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

এই উদাহরণে এমন একটি ওভারলে দেখানো হয়েছে যা স্যাটেলাইট ইমেজের সাথে ব্যবহার করার জন্য উপযুক্ত। উদাহরণে রোডম্যাপ এবং Street View ওভারলে, দুটিই রয়েছে। মার্কিন যুক্তরাষ্ট্রে ইংরেজি ভাষায় কথা বলা হয় বলে, ম্যাপে নাম ও ডেটা ইংরেজি ভাষায় দেখানো হয়।

সেশন টোকেন সংক্রান্ত উত্তর

নিম্নলিখিত JSON হল একটি উদাহরণ রেসপন্স বডি।

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

নিচের তালিকায় রেসপন্স বডিতে থাকা ফিল্ডের সংজ্ঞা দেওয়া আছে।

session
সেশন টোকেন ভ্যালু যা আপনাকে অবশ্যই Map Tiles API অনুরোধে অন্তর্ভুক্ত করতে হবে।
expiry
একটি স্ট্রিং যাতে টোকেনের মেয়াদ শেষ হওয়ার সময় (ইপক থেকে সেকেন্ডে) থাকে। সেশন টোকেন তৈরি হওয়ার সময় থেকে দুই সপ্তাহ পর্যন্ত বৈধ থাকে তবে এই নীতি বিজ্ঞপ্তি ছাড়াই পরিবর্তন করা হতে পারে।
tileWidth
পিক্সেলে পরিমাপ করা টাইলসের প্রস্থ।
tileHeight
পিক্সেলে পরিমাপ করা টাইলসের উচ্চতা।
imageFormat
ছবির ফর্ম্যাট, যা png বা jpeg হতে পারে।