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

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

সেশন টোকেন হল ডেটার একটি অংশ (একটি 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

একটি কমন লোকাল ডেটা রিপোজিটরি অঞ্চল শনাক্তকারী (দুটি বড় হাতের অক্ষর) যা ব্যবহারকারীর প্রকৃত লোকেশন প্রতিনিধিত্ব করে। যেমন, US

ঐচ্ছিক ফিল্ড

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

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

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

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

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

নিম্নলিখিত 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 হতে পারে।