ভূমিকা
Maps Static API, URL-এর মাধ্যমে HTTP অনুরোধের উত্তরে একটি ছবি (GIF, PNG বা JPEG) ফেরত পাঠায়। প্রতিটি অনুরোধের জন্য, আপনি ম্যাপের লোকেশন, ছবির সাইজ, জুম লেভেল, ম্যাপের ধরন এবং ম্যাপের লোকেশনে ঐচ্ছিক মার্কারের প্লেসমেন্ট নির্দিষ্ট করতে পারেন। আপনি বর্ণসাংখ্যিক অক্ষর ব্যবহার করে আপনার মার্কারকে অতিরিক্ত লেবেল করতে পারেন।
Maps Static API-এর ছবি <img>
ট্যাগের src অ্যাট্রিবিউট অথবা অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজে
এর সমতুল্য কিছুর মধ্যে এম্বেড করা থাকে।
এই ডকুমেন্ট Maps Static API URL-এর প্রয়োজনীয় ফর্ম্যাট এবং উপলভ্য প্যারামিটার সম্পর্কে বর্ণনা করে। এছাড়াও, আপনার URL নির্দিষ্ট করার জন্য কিছু পরামর্শ ও কৌশল উল্লেখ করে।
শুরু করার আগে
এই ডকুমেন্টটি ওয়েবসাইট ও মোবাইল ডেভেলপারদের জন্য তৈরি করা হয়েছে যারা ওয়েবপেজ বা মোবাইল অ্যাপ্লিকেশনে Maps Static API ছবি অন্তর্ভুক্ত করতে চান। এটি API ব্যবহার করার ভূমিকা এবং উপলভ্য প্যারামিটার সম্পর্কে রেফারেন্স মেটেরিয়াল প্রদান করে।
Maps Static API ব্যবহার করে ডেভেলপ করা শুরু করার আগে, যাচাইকরণ সংক্রান্ত প্রয়োজনীয়তা (আপনার API key প্রয়োজন হবে) এবং API ব্যবহার ও বিলিং সংক্রান্ত তথ্য (আপনার প্রোজেক্টে বিলিং চালু করতে হবে) পর্যালোচনা করুন।
ইউআরএল প্যারামিটার
Maps Static API URL অবশ্যই নিম্নলিখিত ফর্ম্যাটে হতে হবে:
https://maps.googleapis.com/maps/api/staticmap?parameters
আপনার ওয়েবসাইট HTTPS-এর মাধ্যমে অ্যাক্সেস করা হলে, ব্রাউজার নিরাপত্তা সংক্রান্ত সতর্কতা এড়াতে আপনাকে Maps Static API-এর ছবিও HTTPS-এর মাধ্যমে লোড করতে হবে। আপনার অনুরোধে ব্যবহারকারীর সংবেদনশীল তথ্য, যেমন ব্যবহারকারীর লোকেশন, অন্তর্ভুক্ত থাকলে HTTPS ব্যবহার করার সুপারিশ করা হয়:
https://maps.googleapis.com/maps/api/staticmap?parameters
HTTP বা HTTPS যাই ব্যবহার করুন না কেন, কিছু URL প্যারামিটার আবশ্যক এবং কিছু
ঐচ্ছিক। URL-এর স্ট্যান্ডার্ড অনুযায়ী, সব প্যারামিটারকে
অ্যাম্পারস্যান্ড (&) অক্ষর ব্যবহার করে আলাদা করা হয়। প্যারামিটারের তালিকা এবং সেগুলির
সম্ভাব্য মান এই ডকুমেন্টে উল্লেখ করা আছে।
Maps Static API নিম্নলিখিত URL প্যারামিটার ব্যবহার করে ম্যাপের ছবি সংজ্ঞায়িত করে:
লোকেশন প্যারামিটার
center(মার্কার না থাকলে প্রয়োজন) ম্যাপের কেন্দ্র নির্ধারণ করে, যা ম্যাপের সব প্রান্ত থেকে সমান দূরত্বে থাকে। এই প্যারামিটার কমা দিয়ে আলাদা করা {অক্ষাংশ,দ্রাঘিমাংশ} জোড়া (যেমন, "৪০.৭১৪৭২৮,-৭৩.৯৯৮৬৭২") অথবা স্ট্রিং অ্যাড্রেস (যেমন, "সিটি হল, নিউ ইয়র্ক, এনওয়াই") হিসেবে লোকেশন নেয়, যা পৃথিবীর বুকে একটি অনন্য লোকেশন শনাক্ত করে। আরও তথ্যের জন্য, লোকেশন দেখুন।zoom(মার্কার না থাকলে প্রয়োজন) ম্যাপের জুম লেভেল নির্ধারণ করে, যা ম্যাপের ম্যাগনিফিকেশন লেভেল নির্ধারণ করে। এই প্যারামিটারটি কাঙ্ক্ষিত অঞ্চলের জুম লেভেলের অনুরূপ একটি সংখ্যাসূচক মান গ্রহণ করে। আরও তথ্যের জন্য, জুম লেভেল দেখুন।
ম্যাপ প্যারামিটার
size(প্রয়োজন) ম্যাপের ছবির আয়তাকার ডাইমেনশন নির্ধারণ করে। এই প্যারামিটারটি ফর্মের একটি স্ট্রিং নেয়{horizontal_value}x{vertical_value}. যেমন,500x400৫০০ পিক্সেল চওড়া ও ৪০০ পিক্সেল উচ্চতার ম্যাপকে সংজ্ঞায়িত করে। ১৮০ পিক্সেলের কম প্রস্থের ম্যাপে Google লোগো ছোট করে দেখানো হবে। এই প্যারামিটারটিscaleপ্যারামিটার দ্বারা প্রভাবিত হয়; চূড়ান্ত আউটপুট সাইজ হল সাইজ এবং স্কেল ভ্যালুর গুণফল।scale(ঐচ্ছিক) রিটার্ন করা পিক্সেলের সংখ্যাকে প্রভাবিত করে।scale=2,scale=1-এর তুলনায় দ্বিগুণ পিক্সেল রিটার্ন করে, তবে কভারেজ এরিয়া ও ডিটেলের লেভেল একই থাকে (অর্থাৎ, ম্যাপের কন্টেন্ট পরিবর্তন হয় না)। হাই-রেজোলিউশন ডিসপ্লের জন্য ডেভেলপ করার সময় এটি কাজে লাগে। ডিফল্ট ভ্যালু হল1। গ্রহণযোগ্য ভ্যালু হল1এবং2। আরও তথ্যের জন্য স্কেল ভ্যালু দেখুন।format(ঐচ্ছিক) তৈরি হওয়া ছবির ফর্ম্যাট নির্ধারণ করে। ডিফল্ট হিসেবে, Maps Static API, PNG ছবি তৈরি করে। GIF, JPEG এবং PNG সহ বিভিন্ন ধরনের ফর্ম্যাট ব্যবহার করা যেতে পারে। আপনি কোন ফর্ম্যাট ব্যবহার করবেন তা নির্ভর করে আপনি কীভাবে ছবিটি উপস্থাপন করতে চান তার উপর। JPEG সাধারণত বেশি কম্প্রেশন প্রদান করে, যেখানে GIF এবং PNG আরও বেশি বিস্তারিত তথ্য প্রদান করে। আরও তথ্যের জন্য, ছবির ফর্ম্যাট দেখুন।maptype(ঐচ্ছিক) ম্যাপের ধরন নির্ধারণ করে। maptype-এর একাধিক সম্ভাব্য ভ্যালু আছে, যার মধ্যেroadmap,satellite,hybridএবংterrainঅন্তর্ভুক্ত। আরও তথ্যের জন্য, Maps Static API Maptypes দেখুন।colorscheme(ঐচ্ছিক) ম্যাপের জন্য কালার স্কিম নির্ধারণ করে। স্বীকৃত মান হলlight(ডিফল্ট) এবংdark। ডার্ক রঙের স্কিমroadmapএবংterrainম্যাপের ধরনের ক্ষেত্রে প্রযোজ্য। আরও তথ্যের জন্য, মোড ও ম্যাপের ধরন সম্পর্কে জানুন।language(ঐচ্ছিক) ম্যাপ টাইলে লেবেল দেখানোর জন্য ব্যবহার করার ভাষা নির্ধারণ করে। মনে রাখবেন যে এই প্যারামিটারটি শুধুমাত্র কিছু দেশের টাইলসের জন্য কাজ করে; যদি অনুরোধ করা নির্দিষ্ট ভাষা টাইল সেটের জন্য কাজ না করে, তাহলে সেই টাইলসেটের জন্য ডিফল্ট ভাষা ব্যবহার করা হবে।region(ঐচ্ছিক) ভূ-রাজনৈতিক সংবেদনশীলতার উপর ভিত্তি করে দেখানোর জন্য উপযুক্ত সীমানা নির্ধারণ করে। দুটি অক্ষর বিশিষ্ট ccTLD ('টপ-লেভেল ডোমেন') ভ্যালু হিসেবে নির্দিষ্ট করা অঞ্চল কোড গ্রহণ করে। কাজ করে এমন অঞ্চলের জন্য Google Maps Platform কভারেজের বিবরণ দেখুন।
ফিচার প্যারামিটার
map_id(ঐচ্ছিক) নির্দিষ্ট ম্যাপের জন্য আইডেন্টিফায়ার উল্লেখ করে। ম্যাপ আইডি কোনও ম্যাপকে নির্দিষ্ট স্টাইল বা ফিচারের সাথে যুক্ত করে এবং ম্যাপ শুরু করার জন্য ব্যবহৃত API কী-এর মতো একই প্রোজেক্টের সাথে যুক্ত হতে হবে। আরও তথ্যের জন্য, ম্যাপ আইডি ব্যবহার করা দেখুন।markers(ঐচ্ছিক) নির্দিষ্ট লোকেশনে ছবির সাথে অ্যাটাচ করার জন্য এক বা একাধিক মার্কার নির্ধারণ করুন। এই প্যারামিটার পাইপ অক্ষর (|) দ্বারা আলাদা করা প্যারামিটার সহ একটি মার্কারের সংজ্ঞা নেয়। একই স্টাইল প্রদর্শন করলে, একইmarkersপ্যারামিটারের মধ্যে একাধিক মার্কার রাখা যেতে পারে; আপনি অতিরিক্তmarkersপ্যারামিটার যোগ করে বিভিন্ন স্টাইলের অতিরিক্ত মার্কার যোগ করতে পারেন। মনে রাখবেন যে আপনি কোনও ম্যাপের জন্য মার্কার প্রদান করলে, আপনাকে (সাধারণত প্রয়োজনীয়)centerএবংzoomপ্যারামিটার নির্দিষ্ট করতে হবে না। আরও তথ্যের জন্য, Maps Static API মার্কার দেখুন।path(ঐচ্ছিক) নির্দিষ্ট লোকেশনে ছবির উপর ওভারলে করার জন্য দুই বা তার বেশি কানেক্ট করা পয়েন্টের একটি পাথ নির্ধারণ করে। এই প্যারামিটার পাইপ অক্ষর (|) দ্বারা আলাদা করা পয়েন্টের সংজ্ঞার স্ট্রিং অথবা পাথের লোকেশন ঘোষণার মধ্যেenc:প্রিফিক্স ব্যবহার করে এনকোড করা পলিলাইন গ্রহণ করে। আপনি অতিরিক্তpathপ্যারামিটার যোগ করে অতিরিক্ত পাথ দিতে পারেন। মনে রাখবেন, আপনি ম্যাপের জন্য কোনও পাথ প্রদান করলে, আপনাকে (সাধারণত প্রয়োজনীয়)centerএবংzoomপ্যারামিটার নির্দিষ্ট করতে হবে না। আরও তথ্যের জন্য, Maps Static API পাথ দেখুন।visible(ঐচ্ছিক) এক বা একাধিক লোকেশন নির্দিষ্ট করে যা ম্যাপে দৃশ্যমান থাকা উচিত, যদিও কোনও মার্কার বা অন্যান্য ইন্ডিকেটর দেখানো হবে না। Maps Static API-তে নির্দিষ্ট ফিচার বা ম্যাপ লোকেশন দেখানো হচ্ছে কিনা তা নিশ্চিত করতে এই প্যারামিটার ব্যবহার করুন।style(ঐচ্ছিক) ম্যাপের নির্দিষ্ট ফিচারের (রাস্তা, পার্ক ও অন্যান্য ফিচার) উপস্থাপনা পরিবর্তন করার জন্য কাস্টম স্টাইল সংজ্ঞায়িত করে। এই প্যারামিটারfeatureএবংelementআর্গুমেন্ট নেয় যা স্টাইল করার জন্য ফিচার শনাক্ত করে এবং বেছে নেওয়া ফিচারে প্রয়োগ করার জন্য স্টাইল অপারেশনের সেট শনাক্ত করে। আপনি অতিরিক্তstyleপ্যারামিটার যোগ করে একাধিক স্টাইল প্রদান করতে পারবেন। আরও তথ্যের জন্য, স্টাইল করা ম্যাপ সংক্রান্ত নির্দেশিকা দেখুন।
কী ও সিগনেচার প্যারামিটার
key(প্রয়োজন) আপনাকে Google Cloud কনসোলে আপনার অ্যাপ্লিকেশনের API ব্যবহার মনিটর করতে দেয়, এবং প্রয়োজন হলে Google যাতে আপনার অ্যাপ্লিকেশনের ব্যাপারে আপনার সাথে যোগাযোগ করতে পারে তা নিশ্চিত করে। আরও তথ্যের জন্য, Maps Static API-এর সাথে API কী ব্যবহার করুন দেখুন।signature(সাজেস্ট করা) হল একটি ডিজিটাল স্বাক্ষর যা আপনার API কী ব্যবহার করে অনুরোধ জেনারেট করা যেকোনও সাইট অনুমোদিত কিনা তা যাচাই করতে ব্যবহার করা হয়। ডিজিটাল স্বাক্ষর ছাড়া অনুরোধ ব্যর্থ হতে পারে। আরও তথ্যের জন্য, ডিজিটাল স্বাক্ষর ব্যবহার করুন দেখুন।
URL সাইজ সংক্রান্ত বিধিনিষেধ
Maps Static API URL-এর সাইজ ১৬৩৮৪ অক্ষরের মধ্যে সীমাবদ্ধ। বাস্তবে, আপনি সম্ভবত এর চেয়ে দীর্ঘ URL-এর প্রয়োজন হবে না, যদি না আপনি জটিল মানচিত্র তৈরি করেন চিহ্ন এবং পথের সংখ্যা বেশি।
প্যারামিটারের ব্যবহার
Maps Static API ব্যবহার করা তুলনামূলকভাবে সহজ, কারণ এটি শুধুমাত্র একটি প্যারামিটারাইজড URL নিয়ে গঠিত। এই বিভাগে আপনার URL তৈরি করতে কীভাবে এইসব প্যারামিটার ব্যবহার করবেন তা ব্যাখ্যা করা হয়েছে।
লোকেশন উল্লেখ করা
Maps Static API-কে ম্যাপে সঠিক লোকেশন (center প্যারামিটার ব্যবহার করে)
ফোকাস করতে এবং/অথবা ম্যাপে কোনও ঐচ্ছিক স্থানচিহ্ন (markers প্যারামিটার ব্যবহার করে)
প্লেস করতে, ম্যাপে লোকেশন সঠিকভাবে শনাক্ত করতে পারতে হবে। Maps Static API
এইসব লোকেশন নির্দিষ্ট করতে
সংখ্যা (অক্ষাংশ ও দ্রাঘিমাংশের ভ্যালু) বা স্ট্রিং (ঠিকানা) ব্যবহার করে। এইসব ভ্যালু একটি জিওকোড করা
লোকেশন শনাক্ত করে।
একাধিক প্যারামিটার (যেমন markers এবং path
প্যারামিটার) একাধিক লোকেশন নেয়। সেইসব ক্ষেত্রে, লোকেশনগুলি
পাইপ (|) অক্ষর দ্বারা আলাদা করা হয়।
অক্ষাংশ ও দ্রাঘিমাংশ
অক্ষাংশ এবং দ্রাঘিমাংশ কমা দ্বারা পৃথক করা টেক্সট স্ট্রিংয়ের মধ্যে সংখ্যা ব্যবহার করে সংজ্ঞায়িত করা হয়, যার নির্ভুলতা দশমিকের পরে ৬টি সংখ্যা পর্যন্ত হয়। Example, "40.714728,-73.998672" is a valid geocode value. ৬ দশমিক স্থানের পরে প্রিসিশন উপেক্ষা করা হয়।
ইংল্যান্ডের গ্রিনউইচ থেকে দূরত্বের ভিত্তিতে দ্রাঘিমাংশের মান নির্ধারণ করা হয়, যেখানে
প্রাইম মেরিডিয়ান অবস্থিত। যেহেতু গ্রিনউইচ ৫১.৪৭৭২২২ অক্ষাংশে অবস্থিত, তাই
গ্রিনউইচকে ম্যাপের কেন্দ্রে রাখতে আমরা
center-এর ভ্যালু 51.477222,0 লিখতে পারি:
অক্ষাংশ ও দ্রাঘিমাংশের মান অবশ্যই পৃথিবীর কোনও সঠিক লোকেশনের সাথে
সম্পর্কিত হতে হবে। অক্ষাংশের মান -90 থেকে
90-এর মধ্যে যেকোনও সংখ্যা হতে পারে এবং দ্রাঘিমাংশের মান
-180 থেকে 180-এর মধ্যে যেকোনও সংখ্যা হতে পারে। আপনি যদি ভুল অক্ষাংশ বা দ্রাঘিমাংশের মান উল্লেখ করেন, তাহলে আপনার অনুরোধটি ভুল অনুরোধ হিসেবে প্রত্যাখ্যান করা হবে।
ঠিকানা
বেশিরভাগ মানুষ অক্ষাংশ এবং দ্রাঘিমাংশ ব্যবহার করে কথা বলেন না; তারা ঠিকানা ব্যবহার করে লোকেশন বোঝান। কোনও ঠিকানাকে ভৌগোলিক পয়েন্টে পরিবর্তন করার প্রসেসকে জিওকোডিং বলা হয় এবং আপনি সঠিক ঠিকানা প্রদান করলে Maps Static API পরিষেবা আপনার জন্য জিওকোডিং করতে পারে।
যেসব প্যারামিটারে আপনি অক্ষাংশ/দ্রাঘিমাংশ প্রদান করতে পারেন, সেখানে আপনি পরিবর্তে ঠিকানা নির্দেশ করে এমন একটি স্ট্রিং নির্দিষ্ট করতে পারেন। Google ঠিকানাটি জিওকোড করবে এবং মার্কার বসানো বা লোকেশন নির্দিষ্ট করার জন্য ব্যবহার করতে অক্ষাংশ/দ্রাঘিমাংশ মান সহ Maps Static API পরিষেবা প্রদান করবে। স্ট্রিংটি URL-এনকোডেড হতে হবে, তাই "City Hall, New York, NY"-এর মতো ঠিকানা "City+Hall,New+York,NY"-তে পরিবর্তন করতে হবে, উদাহরণস্বরূপ।
মনে রাখবেন যে ঠিকানাগুলি সুনির্দিষ্ট লোকেশন, যেমন রাস্তার ঠিকানা, নামযুক্ত রুটের মতো পলিলাইন বা শহর, দেশ বা জাতীয় উদ্যানের মতো বহুভুজ এলাকা দেখাতে পারে। পলিনিয়ার এবং পলিগোনাল ফলাফলের জন্য, Maps Static API সার্ভার ঠিকানা কেন্দ্র হিসাবে লাইন/এলাকার কেন্দ্রবিন্দু ব্যবহার করবে। কোনও ঠিকানা কীভাবে জিওকোড করা হতে পারে সেই সম্পর্কে আপনার সন্দেহ থাকলে, আপনি এই জিওকোডিং ইউটিলিটি ব্যবহার করে ঠিকানাটি পরীক্ষা করতে পারেন।
নিচের উদাহরণটি বার্কলে, ক্যালিফোর্নিয়ার জন্য একটি স্ট্যাটিক ম্যাপ ইমেজ তৈরি করে:
https://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
জুম লেভেল
Google Maps-এ ম্যাপের একটি পূর্ণসংখ্যা 'জুম লেভেল' থাকে যা বর্তমান ভিউয়ের
রেজোলিউশন নির্ধারণ করে। ডিফল্ট roadmap ভিউতে 0 (সবচেয়ে কম জুম লেভেল, যেখানে একটি ম্যাপেই পুরো পৃথিবী দেখা যায়) এবং 21+ (রাস্তা ও প্রতিটি বিল্ডিং পর্যন্ত) জুম লেভেল সম্ভব। বিল্ডিংয়ের আউটলাইন, যেখানে
উপলভ্য, ম্যাপে 17 জুম লেভেলের আশেপাশে দেখা যায়। এই ভ্যালু
বিভিন্ন এলাকায় আলাদা হয় এবং ডেটা পরিবর্তিত হওয়ার সাথে সাথে এটিও পরিবর্তিত হতে পারে।
Google Maps, জুম লেভেল 0 সেট করে যাতে পুরো পৃথিবী দেখা যায়।
প্রতিটি পরবর্তী জুম লেভেল হরাইজন্টাল ও ভার্টিক্যাল ডাইমেনশন,
উভয় ক্ষেত্রেই নির্ভুলতার হার দ্বিগুণ করে। এটি কীভাবে করা হয় সেই সম্পর্কে আরও তথ্য
Google Maps
JavaScript API ডকুমেন্টেশন থেকে পাওয়া যাবে।
মনে রাখবেন: পৃথিবীর সব লোকেশনে সব জুম লেভেল দেখা যায় না। জুম লেভেল লোকেশন অনুযায়ী পরিবর্তিত হয়, কারণ পৃথিবীর কিছু অংশের ডেটা অন্যান্য লোকেশনের তুলনায় আরও বেশি সূক্ষ্ম।
আপনি যদি এমন কোনও জুম লেভেলের জন্য অনুরোধ পাঠান যেখানে কোনও ম্যাপ টাইল নেই, তাহলে Maps Static API পরিবর্তে একটি ফাঁকা ছবি দেখাবে।
নিচের তালিকায় প্রতিটি জুম লেভেলে আপনি আনুমানিক কতটা বিস্তারিত দেখতে পাবেন তা দেখানো হয়েছে:
- ১: বিশ্ব
- ৫: ভূখণ্ড/মহাদেশ
- ১০: শহর
- ১৫: রাস্তা
- ২০: বিল্ডিং
এই উদাহরণে একই center ভ্যালু সহ ম্যানহাটনের দুটি ম্যাপের জন্য অনুরোধ করা হয়েছে, তবে যথাক্রমে ১২ ও ১৪ জুম লেভেলে:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
ছবির সাইজ
size প্যারামিটার, center-এর সাথে যুক্ত হয়ে,
ম্যাপের কভারেজ এরিয়া নির্ধারণ করে। এছাড়াও, এটি scale মানের সাথে গুণ করার সময়,
পিক্সেলে ম্যাপের আউটপুট সাইজ নির্ধারণ করে (যা
ডিফল্ট হিসেবে 1)।
এই সারণীতে প্রতিটি scale ভ্যালুর জন্য size প্যারামিটারের
সর্বাধিক অনুমোদিত ভ্যালু দেখানো হয়।
scale=1 |
scale=2 |
|---|---|
640x640 |
640x640 (১২৮০x১২৮০ পিক্সেল দেখায়) |
এই উদাহরণটি জুম লেভেল ১-এ বিষুবরেখায় পৃথিবীর একটি "স্লাইস" অনুরোধ করে:
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=400x50&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
এই উদাহরণে একই অঞ্চলের কেন্দ্রে ১০০ x ১০০ পিক্সেল সাইজের একটি ছোট ম্যাপের অনুরোধ করা হয়েছে। ছোট Google লোগোটি লক্ষ্য করুন:
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=100x100&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
স্কেল ভ্যালু
Maps Static API-এর size প্যারামিটার পিক্সেলে ম্যাপের সাইজ
নির্দিষ্ট করে, যাতে size=200x200 সহ ম্যাপ ২০০ পিক্সেল বাই ২০০ পিক্সেল
হিসেবে ফেরত পাঠানো হয়। একটি এলসিডি কম্পিউটার মনিটরে, যা
সাধারণত প্রতি ইঞ্চিতে প্রায় ১০০ পিক্সেল (ppi) দেখায়, একটি ২০০x২০০ ম্যাপ
প্রতিটি ডাইমেনশনে প্রায় ২ ইঞ্চি হবে।
তবে, মোবাইল ডিভাইসে ক্রমবর্ধমানভাবে ৩০০ পিপিআই-এর বেশি পিক্সেল ঘনত্ব সহ হাই-রেজোলিউশন স্ক্রিন অন্তর্ভুক্ত থাকে, যা হয়:
- ২০০x২০০ পিক্সেল ছবির সাইজ কমিয়ে মাত্র ০.৭ ইঞ্চি করা, যার ফলে লেবেল ও আইকন এত ছোট হয়ে যায় যে পড়া যায় না; অথবা
- ছবিটি আরও স্পষ্ট করে তুলতে স্কেল (জুম) করুন, যার ফলে ছবিটি অস্পষ্ট বা পিক্সেলযুক্ত হয়ে যায়।
| খুব ছোট | খুব অস্পষ্ট |
|---|---|
![]() |
![]() |
মোবাইল ডিভাইসের জন্য ডেভেলপ করার সময়, আপনি API-এর scale
প্যারামিটার ব্যবহার করে আরও ভাল রেজোলিউশনের ম্যাপের ছবি দেখাতে পারেন যা উপরের
সমস্যাগুলি সমাধান করে। ম্যাপের কভারেজ এরিয়া পরিবর্তন না করে, পিক্সেলে ছবির আসল আউটপুট সাইজ নির্ধারণ করতে,
scale ভ্যালু size-এর সাথে গুণ করা হয়। ডিফল্ট scale ভ্যালু হল ১;
গ্রহণযোগ্য ভ্যালু হল ১ ও ২।
যেমন, স্কেল ভ্যালু ২ হলে, স্কেল উল্লেখ না করে করা অনুরোধের মতোই ম্যাপ কভারেজ এরিয়া ফেরত পাওয়া যাবে, তবে প্রতিটি ডাইমেনশনে পিক্সেলের সংখ্যা দ্বিগুণ হবে। এর মধ্যে রাস্তা ও লেবেল অন্তর্ভুক্ত, যাতে সেগুলি হাই রেজোলিউশন, ছোট সাইজের স্ক্রিনে এবং ব্রাউজার দ্বারা স্কেল করার সময়ও পড়া যায়।
| ১৫০x১৫০ | 150x150&scale=2 |
|---|---|
![]() |
![]() |
এই ধরনের ছবি ডেস্কটপ ব্রাউজারেও ভালভাবে কাজ করবে, যখন
CSS ব্যবহার করে সেট করা উচ্চতা এবং প্রস্থ সহ img বা div ট্যাগে
যোগ করা হবে। ব্রাউজার ছবির কোয়ালিটি নষ্ট না করে,
সেটিকে সঠিক সাইজে ছোট করে নেবে।
এই সারণীতে তিনটি আলাদা ছবির অনুরোধ দেখানো হয়েছে।
- প্রথমটি হল ১০০x১০০ ছবির জন্য, যেখানে কোনও স্কেল ভ্যালু উল্লেখ করা নেই। এটি ডেস্কটপে সঠিকভাবে দেখা যায়, কিন্তু মোবাইল ডিভাইসে পড়ার জন্য খুবই ছোট।
- দ্বিতীয়বার ক্লিক করলে ম্যাপের সাইজ দ্বিগুণ হয়ে যায়। ডেস্কটপে, CSS এটিকে নির্দিষ্ট করা ১০০x১০০
imgএলিমেন্টে ফিট করে, কিন্তু ছবির সাইজ ছোট করার সময়, রাস্তা এবং লেবেলগুলি খুব ছোট হয়ে যায়। মোবাইল ডিভাইসে, ছবির সাইজ ঠিক আছে, কিন্তু রাস্তা ও লেবেল অস্পষ্ট। - তৃতীয় অনুরোধটি হল
scale=2সহ ১০০x১০০ ম্যাপের জন্য। ছবিটি ২০০ পিক্সেলের বিবরণ সহ ফেরত পাঠানো হয়; ডেস্কটপ এটিকে নিখুঁতভাবে স্কেল ডাউন করে, যাতে এটি আসল ১০০x১০০ অনুরোধ থেকে আলাদা করা না যায়, অন্যদিকে মোবাইল ব্রাউজার API-এর মাধ্যমে ফেরত পাঠানো অতিরিক্ত রেজোলিউশন থেকে উপকৃত হয়।
| ছবির অনুরোধ | |||
|---|---|---|---|
| ডিভাইস | 100x100 |
200x200 |
100x100&scale=2 |
| ডেস্কটপ ( height="100px" এবংimg ট্যাগেwidth="100px" সহ) |
![]() |
![]() |
![]() |
| হাই রেজোলিউশন (সিমুলেটেড) |
![]() |
![]() |
![]() |
মোবাইল এবং হাই রেজোলিউশন ডিসপ্লের জন্য ডেভেলপ করার বিষয়ে আরও তথ্যের জন্য, নিম্নলিখিত বিষয়গুলি পড়ার জন্য সাজেস্ট করা হচ্ছে:
- Android ডেভেলপার ডকুমেন্টেশনে একাধিক স্ক্রিন সাপোর্ট করা।
- হাই DPI ওয়েব সাইট ডেভেলপ করার জন্য Webkit.org-এর সাজেশন।
- iOS ডেভেলপার লাইব্রেরিতে হাই-রেজোলিউশন স্ক্রিন সাপোর্ট করা।
ছবির ফর্ম্যাট
ছবিগুলি বেশ কয়েকটি সাধারণ ওয়েব গ্রাফিক্স ফর্ম্যাটে ফেরত দেওয়া হতে পারে: GIF,
JPEG এবং PNG। format প্যারামিটার নিম্নলিখিত ভ্যালুর
মধ্যে একটি নেয়:
png8বাpng(ডিফল্ট) ৮-বিট PNG ফর্ম্যাট নির্দিষ্ট করে।png32৩২-বিট PNG ফর্ম্যাট নির্দিষ্ট করে।gif, GIF ফর্ম্যাট নির্দিষ্ট করে।jpgJPEG কম্প্রেশন ফর্ম্যাট নির্দিষ্ট করে।jpg-baselineনন-প্রোগ্রেসিভ JPEG কম্প্রেশন ফর্ম্যাট নির্দিষ্ট করে।
এইসব উদাহরণ gif এবং png ফর্ম্যাটে ম্যাপের অনুরোধ করে:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=gif&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=png&&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
jpg এবং jpg-baseline সাধারণত সবচেয়ে ছোট সাইজের ছবি প্রদান করে, যদিও তারা "লসি" কম্প্রেশনের মাধ্যমে এটি করে যা ছবির কোয়ালিটি খারাপ করতে পারে। gif, png8 এবং png32
lossless কম্প্রেশন প্রদান করে।
বেশিরভাগ JPEG ছবি প্রোগ্রেসিভ হয়, অর্থাৎ সেগুলি প্রথমে একটি অস্পষ্ট ছবি লোড করে
এবং আরও ডেটা আসার সাথে সাথে ছবির রেজোলিউশন রিফাইন করে। এটি ওয়েবপেজে
ছবি দ্রুত লোড হতে সাহায্য করে এবং বর্তমানে JPEG-এর সবচেয়ে বেশি ব্যবহার
এতেই হয়। তবে, JPEG-এর কিছু ব্যবহারের জন্য
নন-প্রোগ্রেসিভ (বেসলাইন) ছবি প্রয়োজন। এই ধরনের ক্ষেত্রে, আপনি
jpg-baseline ফর্ম্যাট ব্যবহার করতে চাইতে পারেন, যা নন-প্রোগ্রেসিভ।
ম্যাপের ধরন
Maps Static API বিভিন্ন ফর্ম্যাটে ম্যাপ তৈরি করে, যা নিচে তালিকাভুক্ত করা হয়েছে:
roadmap(ডিফল্ট) একটি স্ট্যান্ডার্ড রোডম্যাপ ছবি নির্দিষ্ট করে, যেমনটি সাধারণত Google Maps ওয়েবসাইটে দেখানো হয়।maptypeভ্যালু নির্দিষ্ট করা না থাকলে, Maps Static API ডিফল্ট হিসেবেroadmapটাইল পরিবেশন করে।satelliteএকটি স্যাটেলাইট ইমেজ নির্দিষ্ট করে।terrainএকটি ফিজিক্যাল রিলিফ ম্যাপের ছবি নির্দিষ্ট করে, যা ভূখণ্ড এবং গাছপালা দেখায়।hybridস্যাটেলাইট ও রোডম্যাপের হাইব্রিড ছবি নির্দিষ্ট করে, যা স্যাটেলাইট ছবির উপর প্রধান রাস্তা ও জায়গার নামের স্বচ্ছ লেয়ার দেখায়।
এই কোডের উদাহরণে আপনি রোডম্যাপ ও ভূখণ্ড ধরনের মধ্যে পার্থক্য দেখতে পাবেন।
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=roadmap&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=terrain&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
হাইব্রিড ম্যাপে স্যাটেলাইট ইমেজ ও গুরুত্বপূর্ণ রোডম্যাপ ফিচার ব্যবহার করে একটি কম্বিনেশন ম্যাপ তৈরি করা হয়। নিচের উদাহরণে স্যাটেলাইট ও হাইব্রিড ম্যাপের ধরন দেখানো হয়েছে:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=satellite&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=hybrid&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
স্টাইল করা ম্যাপ
আপনার নিজস্ব স্টাইল প্রয়োগ করে স্ট্যান্ডার্ড Google ম্যাপের প্রেজেন্টেশন কাস্টমাইজ করুন। স্টাইল করা ম্যাপ সংক্রান্ত নির্দেশিকা দেখুন।
মার্কার
markers প্যারামিটারটি এক বা একাধিক মার্কারের (ম্যাপ পিন) সেটকে
লোকেশন সেটে সংজ্ঞায়িত করে। একটি markers
স্টেটমেন্টের মধ্যে সংজ্ঞায়িত প্রতিটি মার্কারের একই ভিজ্যুয়াল স্টাইল থাকতে হবে; আপনি যদি বিভিন্ন স্টাইল সহ মার্কার
দেখাতে চান, তাহলে আপনাকে আলাদা স্টাইল তথ্য সহ একাধিক markers
প্যারামিটার প্রদান করতে হবে।
markers প্যারামিটার নিম্নলিখিত ফর্ম্যাটের ভ্যালু অ্যাসাইনমেন্টের সেট
(মার্কার ডেসক্রিপ্টর) নেয়:
markers=markerStyles|markerLocation1|
markerLocation2|... ইত্যাদি
markerStyles-এর সেট markers ঘোষণার শুরুতে
ঘোষণা করা হয় এবং এতে পাইপ অক্ষর (|) দ্বারা আলাদা করা শূন্য বা তার বেশি স্টাইল
ডেসক্রিপ্টর থাকে, এর পরে পাইপ অক্ষর (|) দ্বারা আলাদা করা এক বা একাধিক লোকেশনের
সেট থাকে।
স্টাইল ও লোকেশন সংক্রান্ত তথ্য পাইপ চিহ্নের মাধ্যমে আলাদা করা হয় বলে, যেকোনও মার্কার ডেসক্রিপ্টরে স্টাইল সংক্রান্ত তথ্য প্রথমে দেখাতে হবে। Maps Static API সার্ভার মার্কার ডেসক্রিপ্টরে কোনও লোকেশন খুঁজে পেলে, অন্যান্য সব মার্কার প্যারামিটারকেও লোকেশন হিসেবে ধরে নেওয়া হয়।
মার্কার স্টাইল
মার্কার স্টাইল ডেসক্রিপ্টরের সেট হল পাইপ (|) অক্ষর দ্বারা আলাদা করা
ভ্যালু অ্যাসাইনমেন্টের একটি সিরিজ। এই স্টাইল ডেসক্রিপ্টর
এই মার্কার ডেসক্রিপ্টরের মধ্যে মার্কার দেখানোর সময় ব্যবহার করার জন্য
ভিজ্যুয়াল অ্যাট্রিবিউট নির্ধারণ করে। এই স্টাইল ডেসক্রিপ্টরে নিম্নলিখিত কী/ভ্যালু
অ্যাসাইনমেন্ট থাকে:
size:(ঐচ্ছিক){tiny, mid, small}সেট থেকে মার্কারের সাইজ নির্দিষ্ট করে।sizeপ্যারামিটার সেট করা না থাকলে, মার্কারটি তার ডিফল্ট (সাধারণ) সাইজে দেখা যাবে।color:(ঐচ্ছিক) ২৪-বিট রঙ (যেমন:color=0xFFFFCC) বা{black, brown, green, purple, yellow, blue, gray, orange, red, white}সেট থেকে আগে থেকে নির্ধারিত রঙ নির্দিষ্ট করে।মনে রাখবেন যে ট্রান্সপারেন্সি (৩২-বিট হেক্স কালার ভ্যালু ব্যবহার করে নির্দিষ্ট করা) মার্কারের ক্ষেত্রে কাজ করে না, যদিও তা পাথের ক্ষেত্রে কাজ করে।
label:(ঐচ্ছিক) {A-Z, 0-9} সেট থেকে একটি বড় হাতের বর্ণসাংখ্যিক অক্ষর নির্দিষ্ট করে। (API-এর এই ভার্সনে বড় হাতের অক্ষর ব্যবহার করার প্রয়োজনীয়তা নতুন।) মনে রাখবেন যে ডিফল্ট এবংmidসাইজের মার্কারই হল একমাত্র মার্কার যাalphanumeric-characterপ্যারামিটার দেখাতে পারে।tinyএবংsmallমার্কার বর্ণসাংখ্যিক অক্ষর দেখাতে পারে না।
মার্কার স্কেলিং
পিক্সেলে মার্কারের প্রকৃত আউটপুট সাইজ তৈরি করতে scale ভ্যালু মার্কার ছবির সাইজের সাথে গুণ করা হয়। ডিফল্ট স্কেল ভ্যালু
হল ১; গ্রহণযোগ্য ভ্যালু হল ১, ২ ও ৪।
স্কেলিং প্রয়োগ করার পরে ছবির পিক্সেল সাইজের সীমা প্রযোজ্য হয়। যেমন, মার্কার scale:2-এ সেট করা থাকলে, মার্কারের সাইজ ৪০৯৬ পিক্সেলের
সর্বাধিক সাইজের চেয়ে বড় হতে পারে, তবে স্কেলিংয়ের পরে এটি ৪০৯৬ পিক্সেলের
চেয়ে কম হতে হবে। আরও বেশি রেজোলিউশনের ম্যাপ দেখানোর সময়
ম্যাপ স্কেলিং-এর সাথে মার্কার স্কেলিং ব্যবহার করুন।
মার্কার লোকেশন
প্রতিটি মার্কার ডেসক্রিপ্টরে এক বা একাধিক লোকেশনের সেট থাকতে হবে যা ম্যাপে মার্কারটি কোথায় রাখতে হবে তা নির্ধারণ করে। এইসব লোকেশন অক্ষাংশ/দ্রাঘিমাংশ ভ্যালু
অথবা ঠিকানা হিসেবে
উল্লেখ করা হতে পারে। এইসব লোকেশন পাইপ অক্ষর (|) ব্যবহার করে
আলাদা করা হয়।
মনে রাখবেন: আপনি যদি এমন কোনও পদ্ধতি ব্যবহার করে মার্কার লোকেশন নির্দিষ্ট করতে চান যার জন্য জিওকোডিং প্রয়োজন, যেমন মানুষের-পঠনযোগ্য অ্যাড্রেস স্ট্রিং বা পলিলাইন, তাহলে অনুরোধটি সর্বাধিক ১৫টি মার্কারের মধ্যে সীমাবদ্ধ। এই সীমা শুধুমাত্র সেইসব মার্কার লোকেশনের ক্ষেত্রে প্রযোজ্য যেগুলির জন্য জিওকোডিং প্রয়োজন। অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক দিয়ে নির্দিষ্ট করা মার্কার লোকেশনের ক্ষেত্রে এটি প্রযোজ্য নয়।
লোকেশন প্যারামিটার ম্যাপে মার্কারের লোকেশন নির্ধারণ করে। যদি
লোকেশন ম্যাপে না থাকে, তাহলে সেই মার্কার তৈরি করা ছবিতে দেখা যাবে না
যদি center এবং zoom প্যারামিটার
প্রদান করা হয়। তবে, এইসব প্যারামিটার প্রদান করা না হলে, Maps Static API সার্ভার
অটোমেটিক এমন একটি ছবি তৈরি করবে যাতে প্রদান করা মার্কার থাকবে।
(ইমপ্লিসিট পজিশনিং দেখুন।)
স্যাম্পেল মার্কার ডিক্লারেশন এখানে দেখানো হয়েছে। মনে রাখবেন যে আমরা স্টাইলের একটি সেট এবং তিনটি লোকেশন নির্ধারণ করি:
https://maps.googleapis.com/maps/api/staticmap?center=Williamsburg,Brooklyn,NY&zoom=13&size=400x400& markers=color:blue%7Clabel:S%7C11211%7C11206%7C11222&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
বিভিন্ন স্টাইলের মার্কার নির্ধারণ করতে, আমাদের একাধিক
markers প্যারামিটার দিতে হবে। markers প্যারামিটারের এই সেট
তিনটি মার্কারকে সংজ্ঞায়িত করে: 62.107733, -145.5419-এ "S" লেবেলযুক্ত একটি নীল মার্কার,
"ডেল্টা জংশন, AK"-এ একটি ছোট সবুজ মার্কার এবং "টক, AK"-এ "C" লেবেলযুক্ত একটি মাঝারি আকারের হলুদ মার্কার। এই উদাহরণে এইসব মার্কার দেখানো হয়েছে:
https://maps.googleapis.com/maps/api/staticmap?center=63.259591,-144.667969&zoom=6&size=400x400 &markers=color:blue%7Clabel:S%7C62.107733,-145.541936&markers=size:tiny%7Ccolor:green%7CDelta+Junction,AK &markers=size:mid%7Ccolor:0xFFFF00%7Clabel:C%7CTok,AK"&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
কাস্টম আইকনগুলি
Google-এর মার্কার আইকন ব্যবহার করার পরিবর্তে, আপনি নিজের কাস্টম আইকন ব্যবহার করতে
পারেন। markers প্যারামিটারে icon ডেসক্রিপটর ব্যবহার করে কাস্টম আইকন নির্দিষ্ট করা হয়। যেমন:
markers=icon:URLofIcon|markerLocation
URL ব্যবহার করে icon উল্লেখ করুন (যা
URL-এনকোডেড হতে হবে)। আপনি
https://goo.gl-এর মতো URL ছোট করার পরিষেবা দ্বারা তৈরি করা URL ব্যবহার করতে পারবেন। বেশিরভাগ
URL ছোট করার পরিষেবায় অটোমেটিক URL এনকোড করার সুবিধা থাকে।
আপনি কাস্টম আইকনের জন্য একটি অ্যাঙ্কর পয়েন্ট নির্দিষ্ট করতে পারেন। অ্যাঙ্কর পয়েন্ট সেট করে যে কীভাবে
আইকনটি নির্দিষ্ট করা markers লোকেশনের সাথে সম্পর্কিত করে রাখা হয়েছে। ডিফল্ট হিসেবে, কাস্টম আইকনের অ্যাঙ্কর পয়েন্ট হল আইকন ছবির নিচের দিকের কেন্দ্রবিন্দু। আপনি
icon-এর সাথে anchor ডেসক্রিপ্টর ব্যবহার করে
অন্য অ্যাঙ্কর পয়েন্ট নির্দিষ্ট করতে পারবেন। আইকনের x,y পয়েন্ট হিসেবে anchor সেট করুন (যেমন
10,5), অথবা নিম্নলিখিত ভ্যালুগুলির মধ্যে একটি ব্যবহার করে আগে থেকে নির্ধারিত অ্যালাইনমেন্ট হিসেবে সেট করুন:
top, bottom, left, right,
center, topleft, topright, bottomleft, অথবা
bottomright. যেমন:
markers=anchor:bottomright|icon:URLofIcon|markerLocation1|markerLocation2
আপনি প্রতিটি অনুরোধে সর্বাধিক পাঁচটি অনন্য কাস্টম আইকন ব্যবহার করতে পারবেন। এই সীমাবদ্ধতার অর্থ এই নয় যে
আপনি ম্যাপে ৫টির বেশি লোকেশন চিহ্নিত করতে পারবেন না। আপনার ম্যাপে একাধিক markers লোকেশনের সাথে
প্রতিটি অনন্য আইকন ব্যবহার করা যেতে পারে।
আইকন ফর্ম্যাট:
- আইকন ছবি PNG, JPEG বা GIF ফর্ম্যাটে হতে পারে, তবে PNG ফর্ম্যাট সাজেস্ট করা হয়।
- আইকন সর্বাধিক ৪০৯৬ পিক্সেল সাইজের হতে পারে (বর্গাকার ছবির জন্য ৬৪x৬৪)।
কাস্টম আইকনের উদাহরণ
উদাহরণ ১ কাস্টম আইকন তৈরি করে এবং অ্যাঙ্কর ব্যবহার করে আইকনগুলি পজিশন করে।
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=anchor:32,10%7Cicon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=anchor:topleft%7Cicon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=anchor:topright%7Cicon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY &signature=YOUR_SIGNATURE
উদাহরণ ২ উদাহরণ ১-এর মতো একই কাস্টম আইকন তৈরি করে, কিন্তু অ্যাঙ্কর ব্যবহার করে আইকনের পজিশন সেট করে না, নিচের কেন্দ্রের ডিফল্ট অ্যাঙ্করের উপর নির্ভর করে।
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=icon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=icon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=icon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Maps Static API পাথ
path প্যারামিটার এক বা একাধিক লোকেশনের সেটকে সংজ্ঞায়িত করে
যা ম্যাপের ছবিতে ওভারলে করার জন্য একটি পাথ দ্বারা কানেক্ট করা থাকে। path
প্যারামিটার নিম্নলিখিত ফর্ম্যাটের ভ্যালু অ্যাসাইনমেন্টের (পাথ ডেসক্রিপ্টর) সেট
গ্রহণ করে:
path=pathStyles|pathLocation1|pathLocation2|... ইত্যাদি
মনে রাখবেন, দুটি পাথ পয়েন্টই পাইপ অক্ষর (|) ব্যবহার করে একে অপরের থেকে আলাদা করা হয়।
কারণ স্টাইল সংক্রান্ত তথ্য এবং পয়েন্ট সংক্রান্ত তথ্য, দুটিই পাইপ অক্ষরের মাধ্যমে সীমাবদ্ধ করা হয়,
তাই যেকোনও পাথ ডেসক্রিপ্টরে স্টাইল সংক্রান্ত তথ্য প্রথমে দেখাতে হবে। Maps Static API সার্ভার পাথ ডেসক্রিপ্টরে কোনও লোকেশন খুঁজে পেলে, অন্যান্য সব পাথ প্যারামিটারকেও
লোকেশন হিসেবে ধরে নেওয়া হয়।
পাথ স্টাইল
পাথ স্টাইল ডেসক্রিপ্টরের সেট হল পাইপ (|) অক্ষর দ্বারা আলাদা করা
ভ্যালু অ্যাসাইনমেন্টের একটি সিরিজ। এই স্টাইল ডেসক্রিপ্টর
পাথ দেখানোর সময় ব্যবহার করার জন্য ভিজ্যুয়াল অ্যাট্রিবিউট নির্ধারণ করে। এই স্টাইল
ডেসক্রিপ্টরে নিম্নলিখিত কী/ভ্যালু অ্যাসাইনমেন্ট থাকে:
weight:(ঐচ্ছিক) পিক্সেলে পাথের ঘনত্ব নির্দিষ্ট করে। কোনওweightপ্যারামিটার সেট করা না থাকলে, পাথটি তার ডিফল্ট ঘনত্বে (৫ পিক্সেল) দেখা যাবে।color:(ঐচ্ছিক) ২৪-বিট (যেমন:color=0xFFFFCC) বা ৩২-বিট হেক্সাডেসিমেল মান (যেমন:color=0xFFFFCCFF) অথবা{black, brown, green, purple, yellow, blue, gray, orange, red, white}সেট থেকে রঙ নির্দিষ্ট করে।৩২-বিট হেক্স ভ্যালু নির্দিষ্ট করা থাকলে, শেষ দুটি অক্ষর ৮-বিট আলফা ট্রান্সপারেন্সি ভ্যালু নির্দিষ্ট করে। এই ভ্যালু
00(সম্পূর্ণ স্বচ্ছ) এবংFF(সম্পূর্ণ অস্বচ্ছ)-এর মধ্যে পরিবর্তিত হয়। মনে রাখবেন, পাথে ট্রান্সপারেন্সি কাজ করলেও মার্কারের ক্ষেত্রে তা কাজ করে না।fillcolor:(ঐচ্ছিক) নির্দেশ করে যে পাথটি একটি বহুভুজ এলাকা চিহ্নিত করে এবং সেই এলাকার মধ্যে ওভারলে হিসেবে ব্যবহার করার জন্য ভরাট করার রঙ নির্দিষ্ট করে। নিচে উল্লেখ করা লোকেশনের সেট "ক্লোজড" লুপ হতে হবে না; Maps Static API সার্ভার অটোমেটিক প্রথম ও শেষ পয়েন্ট যোগ করবে। তবে মনে রাখবেন, ফিল করা অংশের বাইরের কোনও স্ট্রোক বন্ধ হবে না, যদি না আপনি নির্দিষ্টভাবে একই শুরু ও শেষের লোকেশন প্রদান করেন।geodesic:(ঐচ্ছিক) নির্দেশ করে যে অনুরোধ করা পাথকে জিওডেসিক লাইন হিসেবে ব্যাখ্যা করা উচিত যা পৃথিবীর বক্রতা অনুসরণ করে। মিথ্যা হলে, স্ক্রিন স্পেসে পাথটি সরল রেখা হিসেবে রেন্ডার করা হয়। ডিফল্ট হিসেবে false সেট করা থাকে।
পাথ সংজ্ঞার কিছু উদাহরণ:
- সরু নীল লাইন, ৫০% অস্বচ্ছতা:
path=color:0x0000ff80|weight:1 - গাঢ় লাল লাইন:
path=color:0xff0000ff|weight:5 - নিরেট মোটা সাদা লাইন:
path=color:0xffffffff|weight:10
এইসব পাথ স্টাইল ঐচ্ছিক। ডিফল্ট অ্যাট্রিবিউট ব্যবহার করতে চাইলে, আপনি পাথ অ্যাট্রিবিউট সংজ্ঞায়িত করা এড়িয়ে যেতে পারেন; সেক্ষেত্রে, পাথ ডেসক্রিপ্টরের প্রথম "আর্গুমেন্ট" প্রথম ঘোষিত পয়েন্টের (লোকেশন) পরিবর্তে ব্যবহার করা হবে।
পাথ পয়েন্ট
পাথ আঁকার জন্য, path প্যারামিটারকে অবশ্যই দুই বা তার বেশি পয়েন্ট
পাস করতে হবে। Maps Static API তখন নির্দিষ্ট ক্রমে
সেইসব পয়েন্টের সাথে পাথ কানেক্ট করবে। প্রতিটি pathPoint
pathDescriptor-এ | (পাইপ)
অক্ষর দ্বারা আলাদা করে দেখানো হয়।
নিম্নলিখিত উদাহরণে ইউনিয়ন স্কোয়ার NY থেকে টাইমস স্কোয়ার, NY পর্যন্ত ডিফল্ট ৫০% অস্বচ্ছতা সহ একটি নীল পাথ দেখানো হয়েছে।
path প্যারামিটারের নির্দিষ্ট বিবরণ হল:
path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
নিম্নলিখিত উদাহরণে ১০০% অস্বচ্ছতা সহ সলিড লাল লাইন দেখানোর পরিবর্তে একই পাথ দেখানো হয়েছে:
এই path প্যারামিটারের স্পেসিফিকেশন হল:
path=color:0xff0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
পরবর্তী উদাহরণে ম্যানহাটনের মধ্যে একটি বহুভুজাকার এলাকাকে সংজ্ঞায়িত করা হয়েছে, যেখানে লোকেশন হিসেবে একাধিক ইন্টারসেকশন পাস করা হয়েছে:
এই path প্যারামিটারের স্পেসিফিকেশন হল:
path=color:0x00000000|weight:5|fillcolor:0xFFFF0033|8th+Avenue+%26+34th+St,New+York,NY|\ 8th+Avenue+%26+42nd+St,New+York,NY|Park+Ave+%26+42nd+St,New+York,NY,NY|\ Park+Ave+%26+34th+St,New+York,NY,NY
মনে রাখবেন, আমরা পাথটি অদৃশ্য এবং বহুভুজ এলাকাটি ১৫% অস্বচ্ছতা সহ সেট করেছি।
এনকোড করা পলিলাইন
একাধিক লোকেশনের পরিবর্তে, আপনি path-এর লোকেশন ঘোষণার মধ্যে enc: প্রিফিক্স ব্যবহার করে
এনকোড করা পলিলাইন
হিসেবে একটি পাথ ঘোষণা করতে পারেন।
নিচের উদাহরণে এনকোড করা পলিলাইন সহ ডসন ক্রিক, BC থেকে ডেল্টা জংশন, AK পর্যন্ত আলাস্কা হাইওয়ের রুট দেখানো হয়েছে:
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=59.900503,-135.478011&zoom=4 &path=weight:3%7Ccolor:orange%7Cenc:_fisIp~u%7CU%7D%7Ca@pytA_~b@hhCyhS~hResU%7C%7Cx@oig@rwg@amUfbjA%7Df%5BroaAynd@%7CvXxiAt%7BZwdUfbjAewYrqGchH~vXkqnAria@c_o@inc@k%7Bg@i%60%5Do%7CF%7DvXaj%5Ch%60%5Dovs@?yi_@rcAgtO%7Cj_AyaJren@nzQrst@zuYh%60%5Dv%7CGbldEuzd@%7C%7Cx@spD%7CtrAzwP%7Cd_@yiB~vXmlWhdPez%5C_%7BKm_%60@~re@ew%5ErcAeu_@zhyByjPrst@ttGren@aeNhoFemKrvdAuvVidPwbVr~j@or@f_z@ftHr%7BZlwBrvdAmtHrmT%7BrOt%7BZz%7DE%7Cc%7C@o%7CLpn~AgfRpxqBfoVz_iAocAhrVjr@rh~@jzKhjp@%60%60NrfQpcHrb%5Ek%7CDh_z@nwB%7Ckb@a%7BR%7Cyh@uyZ%7CllByuZpzw@wbd@rh~@%7C%7CFhqs@teTztrAupHhyY%7Dt%5Dhuf@e%7CFria@o%7DGfezAkdW%7C%7D%5BocMt_Neq@ren@e~Ika@pgE%7Ci%7CAfiQ%7C%60l@uoJrvdAgq@fppAsjGhg%60@%7ChQpg%7BAi_V%7C%7Cx@mkHhyYsdP%7CxeA~gF%7C%7D%5Bmv%60@t_NitSfjp@c%7DMhg%60@sbChyYq%7De@rwg@atFff%7D@ghN~zKybk@fl%7DA%7DcPftcAite@tmT__Lha@u~DrfQi%7DMhkSqyWivIumCria@ciO_tHifm@fl%7DA%7Brc@fbjAqvg@rrqAcjCf%7Ci@mqJtb%5Es%7C@fbjA%7BwDfs%60BmvEfqs@umWt_Nwn%5Epen@qiBr%60xAcvMr%7BZidg@dtjDkbM%7Cd_@ &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
স্ট্যান্ডার্ড পাথের মতো, এনকোড করা পলিলাইন পাথও বহুভুজাকার এলাকা চিহ্নিত করতে পারে, যদি fillcolor আর্গুমেন্ট path প্যারামিটারে পাস করা হয়।
নিম্নলিখিত উদাহরণে ব্রুকলিন, নিউ ইয়র্কের জন্য একটি বহুভুজাকার এলাকার রূপরেখা দেওয়া হয়েছে:
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=40.653279,-73.959816&zoom=11 &path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:%7DzswFtikbMjJzZ%7CRdPfZ%7DDxWvBjWpF~IvJnEvBrMvIvUpGtQpFhOQdKpz%40bIx%7BA%7CPfYlvApz%40bl%40tcAdTpGpVwQtX%7Di%40%7CGen%40lCeAda%40bjA%60q%40v%7D%40rfAbjA%7CEwBpbAd_%40he%40hDbu%40uIzWcWtZoTdImTdIwu%40tDaOXw_%40fc%40st%40~VgQ%7C%5BuPzNtA%60LlEvHiYyLs%5EnPhCpG%7DSzCNwHpz%40cEvXg%40bWdG%60%5DlL~MdTmEnCwJ%5BiJhOae%40nCm%5B%60Aq%5DqE_pAaNiyBuDurAuB%7D%7DAy%60%40%7CEKv_%40%3F%7C%5BqGji%40lAhYyH%60%40Xiw%40tBerAs%40q%5DjHohAYkSmW%3FaNoaAbR%7DLnPqNtMtIbRyRuDef%40eT_z%40mW_Nm%7CB~j%40zC~hAyUyJ_U%7BZ%3F%3FcPvg%40%7Ds%40sHsc%40_z%40cj%40kp%40YePoNyYyb%40_iAyb%40gBw%5EbOokArcA%7DGwJuzBre%40i%5Ctf%40sZnd%40oElb%40hStW%7B%5Dvv%40%3F%3Fkz%40~vAcj%40zKa%60Atf%40uQj_Aee%40pU_UrcA &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
ভিউপোর্ট
visible প্যারামিটার ব্যবহার করে দৃশ্যমান লোকেশন নির্দিষ্ট করার মাধ্যমে ছবিগুলি একটি ভিউ পোর্ট নির্দিষ্ট করতে পারে। visible প্যারামিটার
Maps Static API পরিষেবাকে এমনভাবে ম্যাপ তৈরি করার নির্দেশ দেয় যাতে আগে থেকে থাকা
লোকেশন দেখা যায়। (এই প্যারামিটারটি আগে থেকে থাকা মার্কার বা পাথের সাথে
ব্যবহার করে দৃশ্যমান অঞ্চলও নির্ধারণ করা যেতে পারে।) এইভাবে ভিউপোর্ট নির্ধারণ করলে
নির্দিষ্ট জুম লেভেল উল্লেখ করার প্রয়োজন হয় না।
পরবর্তী উদাহরণে, বোস্টন, এমএ-তে কেন্দ্র করে একটি ম্যাপের অনুরোধ করা হয়েছে যাতে এমআইটি এবং হার্ভার্ড স্কয়ার, কেমব্রিজ, এমএ-তে রয়েছে:
https://maps.googleapis.com/maps/api/staticmap?center=Boston,MA &visible=77+Massachusetts+Ave,Cambridge,MA%7CHarvard+Square,Cambridge,MA&size=512x512&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
ম্যাপের ইমপ্লিসিট পজিশনিং
সাধারণত, আপনার তৈরি করা ম্যাপের লোকেশন এবং জুম লেভেল নির্ধারণ করতে আপনাকে center এবং zoom URL
প্যারামিটার নির্দিষ্ট করতে হবে।
তবে, আপনি markers, path বা
visible প্যারামিটার প্রদান করলে, Maps Static API-কে
এইসব এলিমেন্টের পজিশন মূল্যায়ন করার ভিত্তিতে সঠিক কেন্দ্র ও জুম লেভেল
নির্ধারণ করতে দিতে পারেন।
দুই বা তার বেশি এলিমেন্ট প্রদান করা হলে, Maps Static API একটি সঠিক কেন্দ্র এবং জুম লেভেল নির্ধারণ করবে, যা অন্তর্ভুক্ত এলিমেন্টের জন্য পর্যাপ্ত মার্জিন প্রদান করবে। এই উদাহরণে সান ফ্রান্সিসকো, ওকল্যান্ড এবং সান জোসে, ক্যালিফোর্নিয়া সহ একটি ম্যাপ দেখানো হয়েছে:
https://maps.googleapis.com/maps/api/staticmap?size=512x512&maptype=roadmap\ &markers=size:mid%7Ccolor:red%7CSan+Francisco,CA%7COakland,CA%7CSan+Jose,CA&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
আরও বড় সাইজের ছবি
আপনার যদি ৬৪০ x ৬৪০ পিক্সেলের (বা ১২৮০ x ১২৮০ পিক্সেল, স্কেল ভ্যালু ২ সহ) থেকে বড় সাইজের ছবির প্রয়োজন হয়, তাহলে অনুগ্রহ করে সহায়তা টিমের সাথে যোগাযোগ করুন এবং নিম্নলিখিত তথ্য প্রদান করুন:
- আপনার ব্যবহারের কেস এবং কেন আপনার বড় সাইজের ছবি প্রয়োজন।
- আপনি অন্য Google Maps Platform API (Maps JavaScript API, Maps Embed API, Maps SDK for Android, বা Maps SDK for iOS) ব্যবহার করার কথা ভেবেছেন কিনা এবং কেন সেগুলি আপনার প্রয়োজন পূরণ করতে পারছে না।
- আপনি কীভাবে বড় সাইজের ছবি ব্যবহার করবেন তার স্ক্রিনশট, মক বা স্যাম্পেল।
- বড় সাইজের ছবির জন্য আপনার আনুমানিক মাসিক ব্যবহার।
আপনার দেওয়া তথ্যের ভিত্তিতে আমরা আপনার অনুরোধ পর্যালোচনা করব এবং আপনার ব্যবহারের কেস Google Maps Platform পরিষেবার শর্তাবলী মেনে চলছে কিনা তা নির্ধারণ করব।
আমরা সর্বাধিক ২০৪৮ x ২০৪৮ পিক্সেল সাইজের ছবি দিতে পারি।
সমস্যার সমাধান করা ও সহায়তা
Maps Static API ব্যবহার করার ব্যাপারে আরও তথ্যের জন্য, সহায়তা পৃষ্ঠা দেখুন।
কোনও সমস্যা হলে Maps Static API কোনও সমস্যা বা সতর্কতা ইস্যু করতে পারে। ম্যাপে কিছু মিসিং আছে বলে লক্ষ্য করলে, আপনাকে বিশেষ করে সতর্কতার জন্য চেক করতে হবে। এছাড়াও, নতুন অ্যাপ্লিকেশন লঞ্চ করার আগে সতর্কতা চেক করে নেওয়া ভালো। মনে রাখবেন যে সতর্কতাগুলি অবিলম্বে স্পষ্ট নাও হতে পারে কারণ সেগুলি HTTP হেডারে দেখা যায়। আরও তথ্যের জন্য, সমস্যা ও সতর্কতা সংক্রান্ত নির্দেশিকা দেখুন।







