iOS এর জন্য মানচিত্র SDK-এর স্টাইল রেফারেন্স

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

শৈলী বিকল্পগুলির সাহায্যে আপনি স্ট্যান্ডার্ড Google মানচিত্রের শৈলীগুলির উপস্থাপনা কাস্টমাইজ করতে পারেন, রাস্তা, পার্ক, ব্যবসা এবং অন্যান্য আগ্রহের বিষয়গুলির মতো বৈশিষ্ট্যগুলির ভিজ্যুয়াল প্রদর্শন পরিবর্তন করতে পারেন৷ এই বৈশিষ্ট্যগুলির শৈলী পরিবর্তন করার পাশাপাশি, আপনি বৈশিষ্ট্যগুলি সম্পূর্ণরূপে লুকাতে পারেন। এর মানে হল আপনি মানচিত্রের নির্দিষ্ট উপাদানগুলিতে জোর দিতে পারেন বা মানচিত্রটিকে পার্শ্ববর্তী পৃষ্ঠার শৈলীর পরিপূরক করতে পারেন।

উদাহরণ

নিম্নলিখিত JSON শৈলী ঘোষণা সমস্ত মানচিত্রের বৈশিষ্ট্যগুলিকে ধূসর করে দেয়, তারপরে ধমনী রাস্তার জ্যামিতিকে নীল রঙে রঙ করে এবং ল্যান্ডস্কেপ লেবেলগুলিকে সম্পূর্ণরূপে লুকায়:

[
  {
    "featureType": "all",
    "stylers": [
      { "color": "#C0C0C0" }
    ]
  },{
    "featureType": "road.arterial",
    "elementType": "geometry",
    "stylers": [
      { "color": "#CCFFFF" }
    ]
  },{
    "featureType": "landscape",
    "elementType": "labels",
    "stylers": [
      { "visibility": "off" }
    ]
  }
]

JSON অবজেক্ট

একটি JSON শৈলী ঘোষণা নিম্নলিখিত উপাদান নিয়ে গঠিত:

  • ফিচার টাইপ (ঐচ্ছিক) - এই শৈলী পরিবর্তনের জন্য যে বৈশিষ্ট্যগুলি নির্বাচন করতে হবে। বৈশিষ্ট্যগুলি হল মানচিত্রের ভৌগলিক বৈশিষ্ট্য, যার মধ্যে রয়েছে রাস্তা, পার্ক, জলাশয় এবং আরও অনেক কিছু। আপনি একটি বৈশিষ্ট্য নির্দিষ্ট না করলে, সমস্ত বৈশিষ্ট্য নির্বাচন করা হয়.
  • elementType (ঐচ্ছিক) - নির্বাচন করার জন্য নির্দিষ্ট বৈশিষ্ট্যের বৈশিষ্ট্য। উপাদানগুলি একটি বৈশিষ্ট্যের উপ-অংশ, লেবেল এবং জ্যামিতি সহ। আপনি যদি একটি উপাদান নির্দিষ্ট না করেন তবে বৈশিষ্ট্যের সমস্ত উপাদান নির্বাচন করা হয়৷
  • স্টাইলার - নির্বাচিত বৈশিষ্ট্য এবং উপাদানগুলিতে প্রয়োগ করার নিয়ম। স্টাইলাররা বৈশিষ্ট্যটির রঙ, দৃশ্যমানতা এবং ওজন নির্দেশ করে। আপনি একটি বৈশিষ্ট্যে এক বা একাধিক স্টাইলার প্রয়োগ করতে পারেন।

একটি শৈলী নির্দিষ্ট করতে, আপনাকে অবশ্যই featureType এবং elementType নির্বাচক এবং আপনার stylers একটি স্টাইল অ্যারেতে একত্রিত করতে হবে। আপনি একটি একক অ্যারে বৈশিষ্ট্যের যে কোনো সমন্বয় লক্ষ্য করতে পারেন. যাইহোক, আপনি একবারে প্রয়োগ করতে পারেন এমন শৈলীর সংখ্যা সীমিত। যদি আপনার শৈলী অ্যারে অক্ষরের সর্বোচ্চ সংখ্যা অতিক্রম করে তাহলে কোন শৈলী প্রয়োগ করা হবে না।

এই পৃষ্ঠার বাকি অংশে বৈশিষ্ট্য, উপাদান এবং স্টাইলার সম্পর্কে আরও তথ্য রয়েছে।

featureType

নিম্নলিখিত JSON স্নিপেট মানচিত্রে সমস্ত রাস্তা নির্বাচন করে:

{
  "featureType": "road"
}

বৈশিষ্ট্য, বা বৈশিষ্ট্যের ধরন হল মানচিত্রের ভৌগলিক বৈশিষ্ট্য, যার মধ্যে রয়েছে রাস্তা, পার্ক, জলাশয়, ব্যবসা এবং আরও অনেক কিছু।

বৈশিষ্ট্যগুলি মূল হিসাবে 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 জলের দেহ নির্বাচন করে।

elementType

নিম্নলিখিত JSON স্নিপেট সমস্ত স্থানীয় রাস্তার জন্য লেবেল নির্বাচন করে:

{
  "featureType": "road.local",
  "elementType": "labels"
}

উপাদানগুলি একটি বৈশিষ্ট্যের উপবিভাগ। একটি রাস্তা, উদাহরণস্বরূপ, মানচিত্রের গ্রাফিকাল লাইন (জ্যামিতি) এবং এর নাম (একটি লেবেল) নির্দেশ করে এমন পাঠ্য নিয়ে গঠিত।

নিম্নলিখিত উপাদানগুলি উপলব্ধ, তবে মনে রাখবেন যে একটি নির্দিষ্ট বৈশিষ্ট্য কোনওটি, কিছু বা সমস্ত উপাদানকে সমর্থন করতে পারে না:

  • all (ডিফল্ট) নির্দিষ্ট বৈশিষ্ট্যের সমস্ত উপাদান নির্বাচন করে।
  • geometry নির্দিষ্ট বৈশিষ্ট্যের সমস্ত জ্যামিতিক উপাদান নির্বাচন করে।
    • geometry.fill শুধুমাত্র বৈশিষ্ট্যের জ্যামিতির পূরণ নির্বাচন করে।
    • geometry.stroke শুধুমাত্র বৈশিষ্ট্যের জ্যামিতির স্ট্রোক নির্বাচন করে।
  • labels নির্দিষ্ট বৈশিষ্ট্যের সাথে যুক্ত পাঠ্য লেবেল নির্বাচন করে।
    • labels.icon শুধুমাত্র বৈশিষ্ট্যের লেবেলের মধ্যে প্রদর্শিত আইকন নির্বাচন করে।
    • labels.text শুধুমাত্র লেবেলের পাঠ্য নির্বাচন করে।
    • labels.text.fill শুধুমাত্র লেবেলের পূরণ নির্বাচন করে। একটি লেবেলের ভরাট সাধারণত একটি রঙিন রূপরেখা হিসাবে রেন্ডার করা হয় যা লেবেল পাঠ্যকে ঘিরে থাকে।
    • labels.text.stroke শুধুমাত্র লেবেলের পাঠ্যের স্ট্রোক নির্বাচন করে।

stylers

স্টাইলারগুলি হল ফর্ম্যাটিং বিকল্প যা আপনি মানচিত্র বৈশিষ্ট্য এবং উপাদানগুলিতে প্রয়োগ করতে পারেন।

নিম্নলিখিত JSON স্নিপেট একটি RGB মান ব্যবহার করে উজ্জ্বল সবুজ হিসাবে একটি বৈশিষ্ট্য প্রদর্শন করে:

"stylers": [
  { "color": "#99FF33" }
]

এই স্নিপেটটি শুরুর রঙ নির্বিশেষে একটি বৈশিষ্ট্যের রঙ থেকে সমস্ত তীব্রতা সরিয়ে দেয়। প্রভাবটি বৈশিষ্ট্যটি গ্রেস্কেল রেন্ডার করা:

"stylers": [
  { "saturation": -100 }
]

এই স্নিপেট একটি বৈশিষ্ট্য সম্পূর্ণরূপে লুকিয়ে রাখে:

    "stylers": [
      { "visibility": "off" }
    ]

নিম্নলিখিত শৈলী বিকল্পগুলি সমর্থিত:

  • hue ( #RRGGBB ফরম্যাটের একটি RGB হেক্স স্ট্রিং) মৌলিক রঙ নির্দেশ করে।

    দ্রষ্টব্য: এই বিকল্পটি ডিফল্ট Google শৈলীতে (অথবা আপনি মানচিত্রে সংজ্ঞায়িত অন্যান্য শৈলী বিকল্পগুলিতে) উল্লেখিত স্যাচুরেশন এবং হালকাতা রাখার সময় রঙ সেট করে। ফলস্বরূপ রঙটি বেস মানচিত্রের শৈলীর সাথে সম্পর্কিত। যদি Google বেস মানচিত্রের শৈলীতে কোনো পরিবর্তন করে, তবে পরিবর্তনগুলি আপনার মানচিত্রের বৈশিষ্ট্যগুলিকে প্রভাবিত করে যা hue দিয়ে স্টাইল করা হয়েছে। আপনি যদি পারেন তবে পরম color স্টাইলার ব্যবহার করা ভাল।

  • lightness ( -100 এবং 100 এর মধ্যে একটি ফ্লোটিং পয়েন্ট মান) উপাদানটির উজ্জ্বলতার শতাংশ পরিবর্তন নির্দেশ করে। নেতিবাচক মানগুলি অন্ধকার বাড়ায় (যেখানে -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 ( #RRGGBB ফরম্যাটের একটি RGB হেক্স স্ট্রিং) বৈশিষ্ট্যটির রঙ সেট করে।
  • weight (একটি পূর্ণসংখ্যার মান, শূন্যের চেয়ে বড় বা সমান) বৈশিষ্ট্যটির ওজন পিক্সেলে সেট করে। একটি উচ্চ মান ওজন সেট করার ফলে টালি সীমানা কাছাকাছি ক্লিপিং হতে পারে.

শৈলীর নিয়মগুলি আপনার নির্দিষ্ট করা ক্রমে প্রয়োগ করা হয়। একক শৈলী অপারেশনে একাধিক অপারেশন একত্রিত করবেন না। পরিবর্তে, স্টাইল অ্যারেতে প্রতিটি অপারেশনকে একটি পৃথক এন্ট্রি হিসাবে সংজ্ঞায়িত করুন।

দ্রষ্টব্য: অর্ডার গুরুত্বপূর্ণ, কারণ কিছু অপারেশন পরিবর্তনশীল নয়। বৈশিষ্ট্য এবং/অথবা উপাদান যা শৈলী অপারেশনের মাধ্যমে পরিবর্তিত হয় (সাধারণত) আগে থেকেই বিদ্যমান শৈলী রয়েছে। ক্রিয়াকলাপগুলি বিদ্যমান শৈলীগুলির উপর কাজ করে, যদি উপস্থিত থাকে।

রঙ, স্যাচুরেশন, লাইটনেস মডেল

স্টাইল করা মানচিত্রগুলি স্টাইলারের ক্রিয়াকলাপের মধ্যে রঙ বোঝাতে হিউ, স্যাচুরেশন, লাইটনেস (এইচএসএল) মডেল ব্যবহার করে। হিউ মৌলিক রঙ নির্দেশ করে, স্যাচুরেশন সেই রঙের তীব্রতা নির্দেশ করে এবং হালকাতা উপাদান রঙে সাদা বা কালোর আপেক্ষিক পরিমাণ নির্দেশ করে।

গামা সংশোধন সাধারণত বৈসাদৃশ্য বাড়াতে বা কমাতে রঙের স্থানের উপর হালকাতা পরিবর্তন করে। অতিরিক্তভাবে, এইচএসএল মডেল একটি স্থানাঙ্ক স্থানের মধ্যে রঙকে সংজ্ঞায়িত করে যেখানে hue একটি রঙের চাকার মধ্যে অবস্থান নির্দেশ করে, যখন স্যাচুরেশন এবং হালকাতা বিভিন্ন অক্ষ বরাবর প্রশস্ততা নির্দেশ করে। রঙগুলি একটি RGB রঙের স্থানের মধ্যে পরিমাপ করা হয়, যা বেশিরভাগ RGB রঙের স্থানের অনুরূপ, সাদা এবং কালো রঙের শেডগুলি অনুপস্থিত।

হিউ, স্যাচুরেশন, লাইটনেস মডেল

যদিও hue একটি HTML হেক্স রঙের মান নেয়, এটি শুধুমাত্র মৌলিক রঙ নির্ধারণ করতে এই মানটি ব্যবহার করে - অর্থাৎ, রঙের চাকার চারপাশে এর ওরিয়েন্টেশন, এর স্যাচুরেশন বা হালকাতা নয়, যা শতাংশ পরিবর্তন হিসাবে আলাদাভাবে নির্দেশিত হয়।

উদাহরণস্বরূপ, আপনি বিশুদ্ধ সবুজ রঙের জন্য hue:0x00ff00 বা hue:0x000100 হিসাবে সংজ্ঞায়িত করতে পারেন। উভয় রঙ অভিন্ন। উভয় মানই এইচএসএল রঙের মডেলে বিশুদ্ধ সবুজকে নির্দেশ করে।

একটি আরজিবি কালার হুইল

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

উপরন্তু, ইতিমধ্যেই একটি রঙের স্কিম আছে এমন বিদ্যমান বৈশিষ্ট্যগুলিকে সংশোধন করার সময়, hue মতো একটি মান পরিবর্তন করলে তার বিদ্যমান saturation বা lightness পরিবর্তন হয় না।