ভূমিকা
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 কী প্রয়োজন) এবং API ব্যবহার ও বিলিং সংক্রান্ত তথ্য (আপনার প্রোজেক্টে বিলিং চালু করতে হবে) পর্যালোচনা করুন।
ইউআরএল প্যারামিটার
Maps Static API URL-কে অবশ্যই নিম্নলিখিত ফর্ম্যাটে হতে হবে:
https://maps.googleapis.com/maps/api/staticmap?parameters
আপনার ওয়েবসাইট HTTPS-এর মাধ্যমে অ্যাক্সেস করা হলে, ব্রাউজার নিরাপত্তা সংক্রান্ত সতর্কতা এড়াতে, আপনাকে অবশ্যই HTTPS-এর মাধ্যমে Maps Static API ছবি লোড করতে হবে। এছাড়াও, আপনার অনুরোধে ব্যবহারকারীর সংবেদনশীল তথ্য থাকলে HTTPS ব্যবহার করার সুপারিশ করা হয়, যেমন ব্যবহারকারীর লোকেশন:
https://maps.googleapis.com/maps/api/staticmap?parameters
HTTP বা HTTPS যাই ব্যবহার করুন না কেন, নির্দিষ্ট URL প্যারামিটার প্রয়োজন হয়, তবে কিছু
প্যারামিটার ঐচ্ছিক। URL-এর স্ট্যান্ডার্ড অনুযায়ী, সব প্যারামিটারকে
অ্যাম্পারস্যান্ড (&) চিহ্ন ব্যবহার করে আলাদা করা হয়। এই ডকুমেন্টে প্যারামিটার ও সেগুলির
সম্ভাব্য মান তালিকাভুক্ত করা আছে।
Maps Static API নিম্নলিখিত URL প্যারামিটার ব্যবহার করে ম্যাপের ছবি সংজ্ঞায়িত করে:
লোকেশন প্যারামিটার
center(মার্কার না থাকলে প্রয়োজন) ম্যাপের কেন্দ্র নির্ধারণ করে, যা ম্যাপের সব প্রান্ত থেকে সমান দূরত্বে থাকে। এই প্যারামিটার কমা-সেপারেটেড {latitude,longitude} পেয়ার (যেমন, "40.714728,-73.998672") অথবা স্ট্রিং অ্যাড্রেস (যেমন, "city hall, new york, ny") হিসেবে লোকেশন নেয় যা পৃথিবীর বুকে একটি অনন্য লোকেশনকে শনাক্ত করে। আরও তথ্যের জন্য, লোকেশন দেখুন।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 দেখুন।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
ছবির সাইজ
center-এর সাথে size প্যারামিটার,
ম্যাপের কভারেজ এরিয়া নির্ধারণ করে। এছাড়াও, এটি 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২০০ ম্যাপ
প্রতিটি ডাইমেনশনে প্রায় ২ ইঞ্চি হবে।
তবে, মোবাইল ডিভাইসে ক্রমশই বেশি রেজোলিউশনের স্ক্রিন ব্যবহার করা হচ্ছে, যার পিক্সেল ডেনসিটি ৩০০ppi-এর বেশি। এগুলি হয়:
- ২০০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" ওwidth="100px" সহimg ট্যাগ) |
![]() |
![]() |
![]() |
| হাই রেজোলিউশন (সিমুলেটেড) |
![]() |
![]() |
![]() |
মোবাইল ও হাই রেজোলিউশন ডিসপ্লের জন্য ডেভেলপ করা সম্পর্কে আরও জানতে নিচে দেওয়া তথ্য পড়ুন:
- Android ডেভেলপার ডকুমেন্টেশনে একাধিক স্ক্রিন সাপোর্ট করা।
- হাই DPI ওয়েব সাইট ডেভেলপ করার জন্য Webkit.org-এর সাজেশন।
- iOS ডেভেলপার লাইব্রেরিতে কাজ করে হাই-রেজোলিউশন স্ক্রিন।
ছবির ফর্ম্যাট
ছবিগুলি বিভিন্ন সাধারণ ওয়েব গ্রাফিক্স ফর্ম্যাটে ফেরত দেওয়া হতে পারে: GIF,
JPEG ও PNG. format প্যারামিটার নিম্নলিখিত ভ্যালুগুলির মধ্যে একটি নেয়:
png8বাpng(ডিফল্ট) ৮-বিট PNG ফর্ম্যাট নির্দিষ্ট করে।png32৩২-বিট PNG ফর্ম্যাট নির্দিষ্ট করে।gifGIF ফর্ম্যাট নির্দিষ্ট করে।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
লসলెస్ কম্প্রেশন প্রদান করে।
বেশিরভাগ 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" লেবেল করা একটি নীল মার্কার,
"Delta Junction, AK"-এ একটি খুব ছোট সবুজ মার্কার এবং "Tok, 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-এর মার্কার আইকন ব্যবহার না করে, আপনি নিজের কাস্টম
আইকন ব্যবহার করতে পারেন। icon ডেসক্রিপ্টর ব্যবহার করে কাস্টম আইকন নির্দিষ্ট করা হয়
markers প্যারামিটার। যেমন:
markers=icon:URLofIcon|markerLocation
URL ব্যবহার করে icon উল্লেখ করুন (যা
URL-এনকোডেড হতে হবে)। আপনি https://goo.gl-এর মতো URL-ছোট করার পরিষেবা দ্বারা তৈরি করা
URL ব্যবহার করতে পারেন। বেশিরভাগ
URL-ছোট করার পরিষেবায় URL অটোমেটিক এনকোড করার সুবিধা থাকে।
আপনি কাস্টম আইকনের জন্য একটি অ্যাঙ্কর পয়েন্ট নির্দিষ্ট করতে পারেন। অ্যাঙ্কর পয়েন্ট সেট করে যে কীভাবে
আইকনটি নির্দিষ্ট করা markers লোকেশনের সাথে সম্পর্কিত করে রাখা হয়েছে। ডিফল্ট হিসেবে, কাস্টম আইকনের
অ্যাঙ্কর পয়েন্ট হল আইকন ছবির নিচের দিকের কেন্দ্র। আপনি icon-এর সাথে
anchor ডেসক্রিপ্টর ব্যবহার করে
আলাদা অ্যাঙ্কর পয়েন্ট নির্দিষ্ট করতে পারবেন। anchor-কে আইকনের x,y পয়েন্ট হিসেবে সেট করুন (যেমন
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 হলে, পাথটি স্ক্রিন স্পেসে সরল রেখা হিসেবে রেন্ডার করা হয়। ডিফল্ট হিসেবে false সেট করা থাকে।
পাথ ডেফিনিশনের কিছু উদাহরণ:
- সরু নীল লাইন, ৫০% অস্বচ্ছতা:
path=color:0x0000ff80|weight:1 - অবিচ্ছিন্ন লাল লাইন:
path=color:0xff0000ff|weight:5 - মোটা সাদা নিরেট লাইন:
path=color:0xffffffff|weight:10
এইসব পাথ স্টাইল ঐচ্ছিক। ডিফল্ট অ্যাট্রিবিউট ব্যবহার করতে চাইলে, আপনি পাথ অ্যাট্রিবিউট সংজ্ঞায়িত করা এড়িয়ে যেতে পারেন; সেক্ষেত্রে, পাথ ডেসক্রিপ্টরের প্রথম "আর্গুমেন্ট" প্রথম ঘোষিত পয়েন্টের (লোকেশন) পরিবর্তে ব্যবহার করা হবে।
পাথ পয়েন্ট
পাথ আঁকার জন্য, path প্যারামিটারকেও অবশ্যই
দু'টি বা তার বেশি পয়েন্ট পাস করতে হবে। Maps Static API তখন নির্দিষ্ট ক্রমে সেইসব পয়েন্টের
মধ্য দিয়ে পাথ কানেক্ট করবে। pathDescriptor-এ প্রতিটি pathPoint-কে
| (পাইপ)
চিহ্ন দিয়ে আলাদা করে দেখানো হয়।
নিম্নলিখিত উদাহরণে ইউনিয়ন স্কোয়ার 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
সাধারণ পাথের মতো, এনকোড করা পলিলাইন পাথও বহুভুজাকার
এলাকাকে চিহ্নিত করতে পারে যদি path প্যারামিটারে fillcolor আর্গুমেন্ট পাস করা হয়।
নিচের উদাহরণে নিউ ইয়র্কের ব্রুকলিনের জন্য একটি বহুভুজাকার এলাকা দেখানো হয়েছে:
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 পরিষেবাকে এমনভাবে ম্যাপ তৈরি করার নির্দেশ দেয় যাতে আগে থেকে থাকা
লোকেশনগুলি দেখা যায়। (এই প্যারামিটারটি আগে থেকে থাকা মার্কার বা পাথের সাথে
ব্যবহার করে দৃশ্যমান অঞ্চলও নির্ধারণ করা যেতে পারে।) এইভাবে
ভিউপোর্ট নির্ধারণ করলে, জুম লেভেল নির্দিষ্ট করার প্রয়োজন হয় না।
পরের উদাহরণে ম্যাসাচুসেটসের বোস্টন কেন্দ্রিক একটি ম্যাপের অনুরোধ করা হয়েছে, যেখানে ম্যাসাচুসেটসের কেমব্রিজে MIT এবং হার্ভার্ড স্কোয়ার, দুটিই আছে:
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 হেডারে দেখা যায়। আরও তথ্যের জন্য, সমস্যা ও সতর্কতা সম্পর্কিত নির্দেশিকা দেখুন।







