Maps Static API ব্যবহার করার সময় আপনার নিজস্ব স্টাইল প্রয়োগ করে স্ট্যান্ডার্ড Google ম্যাপের প্রেজেন্টেশন কাস্টমাইজ করুন। আপনি রাস্তা, পার্ক, জনবসতিপূর্ণ এলাকা ও অন্যান্য উল্লেখযোগ্য স্থানের মতো ফিচারের ভিজ্যুয়াল ডিসপ্লে পরিবর্তন করতে পারবেন। নির্দিষ্ট কন্টেন্টকে হাইলাইট করতে, পৃষ্ঠার আশেপাশের কন্টেন্টকে পরিপূরক করতে, এমনকি ফিচার সম্পূর্ণভাবে লুকাতে, সেগুলির রঙ বা স্টাইল পরিবর্তন করুন।
উদাহরণ
নিচের উদাহরণে মার্কিন যুক্তরাষ্ট্রের ব্রুকলিনের একটি ম্যাপ দেখানো হয়েছে, যেখানে স্টাইলিং করে স্থানীয় রাস্তাগুলিকে উজ্জ্বল সবুজ ও আবাসিক এলাকাগুলিকে কালো রঙ করা হয়েছে। এছাড়াও, এটি লেবেলের উজ্জ্বলতা ইনভার্ট করে, যাতে সেগুলি গাঢ় ব্যাকগ্রাউন্ডের বিপরীতে আরও ভালোভাবে বোঝা যায়। মনে রাখবেন যে এই কার্যকরী উদাহরণে URL এনকোডিং ব্যবহার করা হয়:
https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=15¢er=Brooklyn&style=feature:road.local%7Celement:geometry%7Ccolor:0x00ff00&style=feature:landscape%7Celement:geometry.fill%7Ccolor:0x000000&style=element:labels%7Cinvert_lightness:true&style=feature:road.arterial%7Celement:labels%7Cinvert_lightness:false&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
নিচের উদাহরণে স্টাইলিং অপারেশন ও সরলীকরণ ব্যবহার করে মার্কিন যুক্তরাষ্ট্রের রোড অ্যাটলাসের চেহারা আনুমানিক দেখানো হয়েছে:
https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=12¢er=Chicago&format=png&style=feature:road.highway%7Celement:geometry%7Cvisibility:simplified%7Ccolor:0xc280e9&style=feature:transit.line%7Cvisibility:simplified%7Ccolor:0xbababa&style=feature:road.highway%7Celement:labels.text.stroke%7Cvisibility:on%7Ccolor:0xb06eba&style=feature:road.highway%7Celement:labels.text.fill%7Cvisibility:on%7Ccolor:0xffffff&key=YOUR_API_KEY&signature=DITIGAL_SIGNATURE
স্টাইল সিনট্যাক্স
কাস্টমাইজ করা স্টাইলের ম্যাপ তৈরি করতে, অনুরোধের URL-এ এক বা একাধিক style
প্যারামিটার যোগ করুন।
প্রতিটি style ঘোষণায় নিম্নলিখিত আর্গুমেন্ট থাকতে পারে,
যা পাইপ অক্ষর ("|") দিয়ে আলাদা করা থাকে:
feature(ঐচ্ছিক) এই স্টাইল পরিবর্তন করার জন্য ফিচার বেছে নিতে নির্দেশ করে। ফিচারের মধ্যে ম্যাপে দেখানো রাস্তা, পার্ক বা অন্যান্য উল্লেখযোগ্য স্থানের মতো বিষয় অন্তর্ভুক্ত। কোনওfeatureআর্গুমেন্ট উপস্থিত না থাকলে, নির্দিষ্ট করা স্টাইল সব ফিচারের ক্ষেত্রে প্রযোজ্য হয়।element(ঐচ্ছিক) এই স্টাইল পরিবর্তনের জন্য বেছে নিতে নির্দিষ্ট ফিচারের এলিমেন্ট নির্দেশ করে। এলিমেন্ট হল কোনও ফিচারের বৈশিষ্ট্য, যেমন জ্যামিতি বা লেবেল। কোনওelementআর্গুমেন্ট না থাকলে, নির্দিষ্ট ফিচারের সব এলিমেন্টে স্টাইল প্রয়োগ করা হয়।- নির্দিষ্ট ফিচার ও এলিমেন্টে প্রয়োগ করার জন্য স্টাইল সংক্রান্ত নিয়মের (বাধ্যতামূলক)
একটি সেট। API,
styleডিক্লারেশনে যেভাবে দেখানো হয়েছে সেই ক্রম অনুযায়ী নিয়ম প্রয়োগ করে। Maps Static API-এর স্বাভাবিক URL-এর দৈর্ঘ্য সংক্রান্ত সীমাবদ্ধতার মধ্যে আপনি যেকোনও সংখ্যার নিয়ম অন্তর্ভুক্ত করতে পারবেন।
style=feature:myFeatureArgument|element:myElementArgument|myRule1:myRule1Argument|myRule2:myRule2Argument
ফিচার
নিচে উল্লেখ করা style ঘোষণা ম্যাপের সব রাস্তাগুলিকে কালার কোড করে:
style=feature:road|color:0xffffff
এখানে কিছু সাধারণ ফিচার নির্বাচন দেওয়া হল:
feature:all(ডিফল্ট) ম্যাপের সব ফিচার বেছে নেয়।feature:roadম্যাপের সব রাস্তা বেছে নেয়।feature:road.localসব স্থানীয় রাস্তা বেছে নেয়।
ফিচার বা ফিচারের ধরন হল ম্যাপে ভৌগোলিক বৈশিষ্ট্য, যার মধ্যে রাস্তা, পার্ক, জলাশয়, ব্যবসা এবং আরও অনেক কিছু অন্তর্ভুক্ত।
ফিচারগুলি একটি বিভাগীয় ট্রি তৈরি করে, যার মূল হল all
। আপনি কোনও ফিচার নির্দিষ্ট না করলে, সব ফিচার বেছে নেওয়া হয়।
all-এর কোনও ফিচার নির্দিষ্ট করলেও একই প্রভাব পড়ে।
কিছু ফিচারে চাইল্ড ফিচার থাকে যা আপনি ডট নোটেশন ব্যবহার করে
নির্দিষ্ট করেন। যেমন, landscape.natural বা
road.local. আপনি যদি শুধু পেরেন্ট ফিচার উল্লেখ করেন, যেমন
road, তাহলে পেরেন্টের জন্য উল্লেখ করা স্টাইল
তার সব চাইল্ডের ক্ষেত্রে প্রযোজ্য হয়, যেমন road.local এবং
road.highway।
মনে রাখবেন, পেরেন্ট ফিচারে এমন কিছু এলিমেন্ট থাকতে পারে যা সেটির সব চাইল্ড ফিচারে অন্তর্ভুক্ত থাকে না।
নিম্নলিখিত ফিচার উপলভ্য:
all(ডিফল্ট) সব ফিচার বেছে নেয়।administrativeসব প্রশাসনিক এলাকা বেছে নেয়। স্টাইলিং শুধুমাত্র প্রশাসনিক এলাকার লেবেলের উপর প্রভাব ফেলে, ভৌগোলিক সীমানা বা ফিল কালারের উপর নয়।administrative.countryদেশ বেছে নেয়।administrative.land_parcelটি ল্যান্ড পার্সেল বেছে নেওয়া হয়েছে।administrative.localityলোকালিটি বেছে নেয়।administrative.neighborhoodআশেপাশের এলাকা বেছে নেয়।administrative.provinceপ্রদেশ বেছে নেয়।
landscapeসব ল্যান্ডস্কেপ বেছে নেয়।landscape.man_madeবিল্ডিং ও অন্যান্য কাঠামোর মতো মনুষ্য-নির্মিত ফিচার বেছে নেয়।landscape.naturalপর্বত, নদী, মরুভূমি ও হিমবাহের মতো প্রাকৃতিক ফিচার বেছে নেয়।landscape.natural.landcoverল্যান্ড কভার ফিচার বেছে নেয়, যা হল পৃথিবীর উপরিভাগকে ঢেকে রাখা ভৌত উপাদান, যেমন বন, তৃণভূমি, জলাভূমি এবং খালি জমি।landscape.natural.terrainভূপৃষ্ঠের ভূখণ্ড সংক্রান্ত ফিচার বেছে নেয়, যেমন, উচ্চতা, ঢাল ও দিকনির্দেশ।
poiসব উল্লেখযোগ্য স্থান বেছে নেয়।poi.attractionপর্যটকদের জন্য আকর্ষণীয় স্থান বেছে নেয়।poi.businessব্যবসা বেছে নেয়।poi.governmentসরকারি বিল্ডিং বেছে নেয়।poi.medicalহাসপাতাল, ফার্মেসি, পুলিশ, ডাক্তার এবং অন্যান্য সহ জরুরি পরিষেবা বেছে নেয়।poi.parkপার্ক বেছে নেয়।poi.place_of_worshipচার্চ, মন্দির, মসজিদ ও অন্যান্য সহ উপাসনার জায়গা বেছে নেয়।poi.schoolস্কুল বেছে নেয়।poi.sports_complexস্পোর্টস কমপ্লেক্স বেছে নেয়।
roadসব রাস্তা বেছে নেয়।road.arterialপ্রধান রাস্তা বেছে নেয়।road.highwayহাইওয়ে বেছে নেয়।road.highway.controlled_accessনিয়ন্ত্রিত অ্যাক্সেস সহ হাইওয়ে বেছে নেয়।road.localস্থানীয় রাস্তা বেছে নেয়।
transitসব ট্রানজিট স্টেশন ও লাইন বেছে নেয়।transit.lineট্রানজিট লাইন বেছে নেয়।transit.stationসব ট্রানজিট স্টেশন বেছে নেয়।transit.station.airportবিমানবন্দর বেছে নেয়।transit.station.busবাস স্টপ বেছে নেয়।transit.station.railটি রেল স্টেশন বেছে নেয়।
waterজলাশয় বেছে নেয়।
এলিমেন্ট
নিম্নলিখিত style ঘোষণাটি সমস্ত স্থানীয়
রাস্তার লেবেলকে কালার করে:
style=feature:road.local|element:labels|color:0xffffff
এলিমেন্ট হল ফিচারের উপবিভাগ। যেমন, একটি রাস্তার মধ্যে ম্যাপে গ্রাফিক্যাল লাইন (জিওমেট্রি) এবং তার নাম (লেবেল) বোঝানো টেক্সট থাকে।
নিম্নলিখিত এলিমেন্ট উপলভ্য, তবে মনে রাখবেন যে কোনও নির্দিষ্ট ফিচার কোনও এলিমেন্ট, কিছু এলিমেন্ট বা সব এলিমেন্টকে সাপোর্ট করতে পারে:
জুম লেভেলের উপর ভিত্তি করে লেবেলের টেক্সট fill ও stroke রঙ পরিবর্তন হয়।
বিভিন্ন জুম লেভেল জুড়ে অভিজ্ঞতা সামঞ্জস্যপূর্ণ করতে, সবসময় fill
ও stroke দু'টিই সংজ্ঞায়িত করুন।
all(ডিফল্ট) নির্দিষ্ট ফিচারের সব এলিমেন্ট বেছে নেয়।-
geometryনির্দিষ্ট ফিচারের সব জ্যামিতিক এলিমেন্ট বেছে নেয়।geometry.fillশুধুমাত্র ফিচারের জ্যামিতির ফিল বেছে নেয়।geometry.strokeশুধুমাত্র ফিচারের জ্যামিতির স্ট্রোক বেছে নেয়।
-
labelsনির্দিষ্ট ফিচারের সাথে যুক্ত টেক্সচুয়াল লেবেল বেছে নেয়।labels.iconশুধুমাত্র ফিচারের লেবেলের মধ্যে দেখানো আইকন বেছে নেয়।labels.textশুধুমাত্র লেবেলের টেক্সট বেছে নেয়।-
labels.text.fillশুধুমাত্র লেবেলের ফিল বেছে নেয়। লেবেলের ফিল সাধারণত লেবেলের টেক্সটকে ঘিরে থাকা একটি রঙিন আউটলাইন হিসেবে রেন্ডার করা হয়। labels.text.strokeলেবেলের টেক্সটের স্ট্রোক বেছে নেয়।
স্টাইল সংক্রান্ত নিয়ম
স্টাইল সংক্রান্ত নিয়ম হল ফর্ম্যাটিং বিকল্প যা প্রতিটি style ডিক্লারেশনে
উল্লেখ করা ফিচার ও এলিমেন্টের ক্ষেত্রে প্রযোজ্য হয়।
নিম্নলিখিত style ঘোষণা ম্যাপে রাস্তার ক্ষেত্রে দুটি স্টাইল সংক্রান্ত নিয়ম
প্রয়োগ করে। প্রথম নিয়মে রাস্তায় রঙ প্রয়োগ করা হয়। দ্বিতীয়
নিয়মটি রাস্তা দেখানোর পদ্ধতিকে আরও সহজ করে দেয়, তাই সেগুলিতে আউটলাইন
ছাড়াই আরও সরু লাইন থাকে:
style=feature:road|color:0xffffff|visibility:simplified
style ঘোষণার প্রতিটিতে পাইপ ("|") ক্যারেক্টার ব্যবহার করে আলাদা করা এক বা একাধিক অপারেশন থাকতে হবে
। প্রতিটি অপারেশন কোলন (":") অক্ষর ব্যবহার করে
তার আর্গুমেন্ট ভ্যালু নির্দিষ্ট করে এবং আপনি যে ক্রমে সেগুলি নির্দিষ্ট করেন
সেই ক্রমে সমস্ত অপারেশন বেছে নেওয়া আইটেমে প্রয়োগ করা হয়।
নিচে উল্লেখ করা স্টাইলের বিকল্প কাজ করে:
hue(format#RRGGBB-এর একটি RGB হেক্স স্ট্রিং) প্রাথমিক রঙ নির্দেশ করে।মনে রাখবেন: এই বিকল্পটি ডিফল্ট Google স্টাইলে (অথবা আপনি ম্যাপে সংজ্ঞায়িত করা অন্যান্য স্টাইল বিকল্পে) নির্দিষ্ট করা স্যাচুরেশন এবং লাইটনেস রাখার সময় হিউ সেট করে। ফলাফল হিসেবে পাওয়া রঙটি বেস ম্যাপের স্টাইলের সাথে সম্পর্কিত। Google যদি বেস ম্যাপ স্টাইলে কোনও পরিবর্তন করে, তাহলে সেই পরিবর্তন
hue-এর মাধ্যমে স্টাইল করা আপনার ম্যাপের ফিচারকে প্রভাবিত করে। আপনি যদি পারেন, তাহলে অ্যাবসোলিউটcolorস্টাইলার ব্যবহার করা ভালো।lightness(-100ও100-এর মধ্যে ফ্লোটিং পয়েন্ট ভ্যালু) এলিমেন্টের উজ্জ্বলতার শতকরা পরিবর্তন নির্দেশ করে। নেগেটিভ ভ্যালু অন্ধকার বাড়ায় (যেখানে -১০০ কালো রঙ নির্দিষ্ট করে) অন্যদিকে পজিটিভ ভ্যালু উজ্জ্বলতা বাড়ায় (যেখানে +১০০ সাদা রঙ নির্দিষ্ট করে)।মনে রাখবেন: এই বিকল্পটি ডিফল্ট Google স্টাইলে (অথবা আপনার ম্যাপে নির্দিষ্ট করা অন্যান্য স্টাইল বিকল্পে) নির্দিষ্ট করা স্যাচুরেশন ও হিউ ঠিক রেখে লাইটনেস সেট করে। যে রঙটি পাওয়া যায় তা বেস ম্যাপের স্টাইলের সাথে সম্পর্কিত। Google যদি বেস ম্যাপ স্টাইলে কোনও পরিবর্তন করে, তাহলে সেই পরিবর্তন
lightness-এর মাধ্যমে স্টাইল করা আপনার ম্যাপের ফিচারকে প্রভাবিত করে। আপনি পারলে, অ্যাবসলিউটcolorস্টাইলার ব্যবহার করা উত্তম।saturation(-100ও100-এর মধ্যে একটি ফ্লোটিং পয়েন্ট ভ্যালু) এলিমেন্টে প্রয়োগ করার জন্য প্রাথমিক রঙের তীব্রতায় শতাংশের পরিবর্তন নির্দেশ করে।মনে রাখবেন: এই বিকল্পটি ডিফল্ট Google স্টাইলে (অথবা আপনার ম্যাপে সংজ্ঞায়িত করা অন্যান্য স্টাইল বিকল্পে) নির্দিষ্ট করা হিউ এবং লাইটনেস রাখার সময় স্যাচুরেশন সেট করে। ফলাফল হিসেবে পাওয়া রঙটি বেস ম্যাপের স্টাইলের সাথে সম্পর্কিত। Google যদি বেস ম্যাপ স্টাইলে কোনও পরিবর্তন করে, তাহলে সেই পরিবর্তন
saturation-এর মাধ্যমে স্টাইল করা আপনার ম্যাপের ফিচারকে প্রভাবিত করবে। আপনি পারলে নিরপেক্ষcolorস্টাইলার ব্যবহার করা ভাল।gamma(0.01ও10.0-এর মধ্যে ফ্লটিং পয়েন্ট ভ্যালু, যেখানে1.0কোনও সংশোধন প্রয়োগ করে না) থেকে এলিমেন্টে প্রয়োগ করার গামা সংশোধনের পরিমাণ বোঝা যায়। গামা কারেকশন নন-লিনিয়ার পদ্ধতিতে রঙের উজ্জ্বলতা পরিবর্তন করে, তবে সাদা বা কালো ভ্যালুর উপর কোনও প্রভাব ফেলে না। গামা কারেকশন সাধারণত একাধিক এলিমেন্টের কনট্রাস্ট পরিবর্তন করতে ব্যবহার করা হয়। যেমন, আপনি গামা পরিবর্তন করে এলিমেন্টের এজ ও ভেতরের কনট্রাস্ট বাড়াতে বা কমাতে পারেন।মনে রাখবেন: এই বিকল্পটি গামা কার্ভ ব্যবহার করে ডিফল্ট Google স্টাইলের সাথে তুলনামূলকভাবে লাইটনেস অ্যাডজাস্ট করে। Google যদি বেস ম্যাপের স্টাইলে কোনও পরিবর্তন করে, তাহলে সেই পরিবর্তন আপনার ম্যাপের
gamma-এর মাধ্যমে স্টাইল করা ফিচারের উপর প্রভাব ফেলে। আপনি যদি পারেন তাহলে অ্যাবসোলিউটcolorস্টাইলার ব্যবহার করা ভালো।invert_lightness(যদিtrueহয়) আগে থেকে থাকা লাইটনেস ইনভার্ট করে। এটি সহায়ক, যেমন, সাদা টেক্সট সহ দ্রুত আরও গাঢ় ম্যাপে পরিবর্তন করার জন্য।মনে রাখবেন: এই বিকল্পটি শুধু ডিফল্ট Google স্টাইলকে ইনভার্ট করে। Google বেস ম্যাপ স্টাইলে কোনও পরিবর্তন করলে,
invert_lightness-এর মাধ্যমে স্টাইল করা আপনার ম্যাপের ফিচার প্রভাবিত হয়। আপনি পারলে নিরপেক্ষcolorস্টাইলার ব্যবহার করা ভাল।visibility(on,off, অথবাsimplified) ম্যাপে এলিমেন্টটি দেখা যাবে কিনা এবং কীভাবে দেখা যাবে তা নির্দেশ করে।simplifiedদৃশ্যমানতা প্রভাবিত ফিচার থেকে কিছু স্টাইল ফিচার সরিয়ে দেয় ; যেমন, রাস্তাগুলিকে আউটলাইন ছাড়াই আরও সরু লাইন হিসেবে দেখানো হয়, অন্যদিকে পার্কের লেবেল টেক্সট সরিয়ে দেওয়া হলেও লেবেল আইকন থেকে যায়।color(format#RRGGBB-এর একটি RGB হেক্স স্ট্রিং) ফিচারটির রঙ সেট করে।weight(একটি পূর্ণসংখ্যা মান, শূন্যের থেকে বড় বা সমান) পিক্সেলের মধ্যে ফিচারের ওজন সেট করে। ওয়েট বেশি ভ্যালুতে সেট করলে, টাইলের বর্ডারের কাছাকাছি ক্লিপিং হতে পারে।
আপনি যেভাবে উল্লেখ করবেন সেই ক্রম অনুযায়ী স্টাইল সংক্রান্ত নিয়ম প্রয়োগ করা হবে। একাধিক অপারেশনকে একটি স্টাইল অপারেশনে একত্রিত করবেন না। পরিবর্তে, প্রতিটি অপারেশনকে স্টাইল অ্যারেতে আলাদা এন্ট্রি হিসেবে সংজ্ঞায়িত করুন।
মনে রাখবেন: ক্রম গুরুত্বপূর্ণ, কারণ কিছু অপারেশন পরিবর্তনশীল নয়। স্টাইল অপারেশন (সাধারণত) আগেই আছে এমন ফিচার এবং/অথবা এলিমেন্ট পরিবর্তন করা হয়। আগে থেকে থাকা স্টাইল থাকলে, অপারেশন সেগুলির উপর কাজ করে।
হিউ, স্যাচুরেশন, লাইটনেস মডেল
স্টাইলার অপারেশনের মধ্যে রঙ বোঝাতে স্টাইল করা ম্যাপ হিউ, স্যাচুরেশন, লাইটনেস (HSL) মডেল ব্যবহার করে। হিউ থেকে প্রাথমিক রঙ, স্যাচুরেশন থেকে সেই রঙের তীব্রতা এবং লাইটনেস থেকে সেই রঙের মধ্যে সাদা বা কালোর তুলনামূলক পরিমাণ বোঝা যায়।
গামা
সংশোধন কালার স্পেসের উপর লাইটনেস পরিবর্তন করে, সাধারণত
কনট্রাস্ট বাড়াতে বা কমাতে। এছাড়াও, HSL মডেল একটি কোঅর্ডিনেট স্পেসের মধ্যে কালার
নির্ধারণ করে, যেখানে hue কালার হুইলের মধ্যে ওরিয়েন্টেশন
নির্দেশ করে, স্যাচুরেশন ও লাইটনেস বিভিন্ন অ্যাক্সিস বরাবর অ্যামপ্লিটিউড
নির্দেশ করে। RGB কালার স্পেসের মধ্যে হিউ পরিমাপ করা হয়,
যা বেশিরভাগ RGB কালার স্পেসের মতোই, তবে সাদা ও
কালো রঙের শেড এতে থাকে না।

hue HTML হেক্স কালার ভ্যালু নিলেও, এটি শুধুমাত্র এই ভ্যালু
ব্যবহার করে প্রাথমিক কালার নির্ধারণ করে - অর্থাৎ, কালার
হুইলের চারপাশে এর ওরিয়েন্টেশন, এর স্যাচুরেশন বা লাইটনেস নয়, যা
আলাদাভাবে শতাংশের পরিবর্তন হিসেবে দেখানো হয়।
যেমন, আপনি খাঁটি সবুজ রঙের হিউকে
hue:0x00ff00 বা hue:0x000100 হিসেবে সংজ্ঞায়িত করতে পারেন। দুটি হিউই
একই। দুটি ভ্যালুই HSL কালার মডেলে খাঁটি সবুজ রঙকে পয়েন্ট করে।

RGB কালার হুইল
সমান অংশ লাল, সবুজ ও নীল নিয়ে গঠিত RGB hue ভ্যালু
কোনও হিউ নির্দেশ করে না, কারণ সেইসব ভ্যালুর কোনওটিই HSL কোঅর্ডিনেট স্পেসে
কোনও ওরিয়েন্টেশন নির্দেশ করে না। উদাহরণ হল "#000000" (কালো), "#FFFFFF" (সাদা),
এবং ধূসর রঙের সব শেড। কালো, সাদা বা ধূসর রঙ বোঝাতে, আপনাকে অবশ্যই
সব saturation সরিয়ে দিতে হবে (ভ্যালু -100 হিসেবে সেট করুন) এবং
পরিবর্তে lightness অ্যাডজাস্ট করতে হবে।
এছাড়াও, আগে থেকেই কালার স্কিম আছে এমন ফিচার পরিবর্তন করার সময়, hue-এর মতো কোনও ভ্যালু পরিবর্তন করলে, আগে থেকেই থাকা
saturation বা lightness-এ কোনও পরিবর্তন হয় না।