ক্লাউড-ভিত্তিক ম্যাপের স্টাইলিংয়ের জন্য ব্যবহৃত JSON স্কিমা আপনাকে স্টাইল এডিটর ইন্টারফেসের মতোই JSON ব্যবহার করে ম্যাপ কাস্টমাইজ করার সুযোগ দেয়। এই ডকুমেন্টটিতে JSON স্কিমা এবং কীভাবে JSON স্টাইল ডিক্লারেশন তৈরি করতে হয়, তা বর্ণনা করা হয়েছে।
স্টাইল এডিটরের মধ্যে JSON ব্যবহার করে কীভাবে একটি ম্যাপ স্টাইল সম্পাদনা করতে হয়, বা একটি ম্যাপ স্টাইল ইম্পোর্ট ও এক্সপোর্ট করতে হয়, তা জানতে “Use JSON with cloud-based maps styling” দেখুন।
JSON স্টাইল ডিক্লারেশনের একটি উদাহরণ দেখুন
নিম্নলিখিত JSON স্টাইল ডিক্লারেশনটি একটি ব্যাকগ্রাউন্ড কালার সেট করে, এবং তারপর দর্শনীয় স্থান, পার্ক, জলাশয়ের জন্য স্টাইল নির্ধারণ করে ও খাবার এবং পানীয়ের দোকানের লেবেল লুকিয়ে রাখে।
{
"variant": "light",
"styles": [
{
"id": "natural.land",
"geometry": {
"fillColor": "#f7e3f7"
}
},
{
"id": "natural.water",
"geometry": {
"fillColor": "#d4b2ff"
},
"label": {
"textFillColor": "#3d2163",
"textStrokeColor": "#f0e1ff"
}
},
{
"id": "pointOfInterest",
"label": {
"pinFillColor": "#e0349a",
"textFillColor": "#a11e6e",
"textStrokeColor": "#ffd9f0"
}
},
{
"id": "pointOfInterest.emergency.hospital",
"geometry": {
"fillColor": "#ffe3e3"
}
},
{
"id": "pointOfInterest.foodAndDrink",
"label": {
"visible": false
}
},
{
"id": "pointOfInterest.recreation.park",
"geometry": {
"fillColor": "#f9b9d2"
}
}
]
}
JSON অবজেক্ট
একটি JSON স্টাইল ডিক্লারেশন একটি টপ-লেভেল অবজেক্ট এবং স্টাইল রুলগুলোর একটি অ্যারে নিয়ে গঠিত।
- শীর্ষ-স্তরের সেটিংস (ঐচ্ছিক) - গ্লোবাল স্টাইল সেটিংস, যেমন
backgroundColorএবংvariant। -
styles- স্টাইল রুল অবজেক্টের একটি অ্যারে, যা নিম্নলিখিত বিষয়গুলো নিয়ে গঠিত হতে পারে:-
id- এই স্টাইল পরিবর্তনের জন্য নির্বাচন করার মানচিত্রের বৈশিষ্ট্য (যেমন,pointOfInterest.recreation.park)। -
geometry(ঐচ্ছিক) - ম্যাপ ফিচারের জ্যামিতিক উপাদানসমূহ এবং প্রয়োগ করার জন্য স্টাইল রুলসমূহ (যেমন,fillColor)। -
label(ঐচ্ছিক) - ম্যাপ ফিচারের টেক্সট বা পিন লেবেল এবং প্রয়োগ করার জন্য স্টাইল নিয়মাবলী (যেমন,textStrokeColor)।
-
শীর্ষ-স্তরের সেটিংস
নিচের সারণিতে উল্লিখিত বৈশিষ্ট্যগুলো সম্পূর্ণ ম্যাপ স্টাইলের ক্ষেত্রে প্রযোজ্য।
| সম্পত্তি | প্রকার | বর্ণনা | উদাহরণ |
|---|---|---|---|
| স্ট্রিং | #RRGGBB হেক্স স্ট্রিং ব্যবহার করে ম্যাপ অ্যাপের ব্যাকগ্রাউন্ড কালার কাস্টমাইজ করুন। এই সেটিংটি অপাসিটি পরিবর্তন সমর্থন করে না। | "#০০২২১১" |
| "আলো"|"অন্ধকার" | লাইট বা ডার্ক মোড নির্দিষ্ট করুন। নির্দিষ্ট না করা হলে, ডিফল্ট মোড হবে 'লাইট'। | "আলো" |
| বুলিয়ান | মনোক্রোম চালু করতে, ম্যাপের ধূসর সংস্করণের জন্য true ব্যবহার করুন। | |
স্টাইল নিয়ম বস্তু
এই বিভাগে ম্যাপের বৈশিষ্ট্যগুলি কাস্টমাইজ করার জন্য styles ' অ্যারেতে থাকা স্টাইল রুল অবজেক্টগুলির বৈশিষ্ট্যগুলি বর্ণনা করা হয়েছে। প্রতিটি স্টাইল রুল অবজেক্টে নিম্নলিখিত বিষয়গুলি অবশ্যই থাকতে হবে:
-
idপ্রপার্টি। -
geometryবাlabelএলিমেন্ট, যার সাথে সংশ্লিষ্ট স্টাইলার প্রোপার্টিগুলো সংজ্ঞায়িত করা আছে।
id (মানচিত্র বৈশিষ্ট্য)
id প্রপার্টিটি স্টাইল করার জন্য ম্যাপ ফিচারটিকে নির্দিষ্ট করে। প্রপার্টির নামগুলো হলো স্টাইল এডিটরের ম্যাপ ফিচারের নামগুলোর ক্যামেলকেস সংস্করণ।
ম্যাপের ফিচারগুলো একটি ক্যাটাগরি ট্রি গঠন করে। আপনি যদি pointOfInterest মতো কোনো প্যারেন্ট ফিচার টাইপ নির্দিষ্ট করেন, তাহলে প্যারেন্টের জন্য নির্দিষ্ট করা স্টাইলগুলো এর সমস্ত চাইল্ড, যেমন pointOfInterest.retail এবং pointOfInterest.lodging ক্ষেত্রেও প্রযোজ্য হবে। বিস্তারিত জানতে, ম্যাপ ফিচার হায়ারার্কি দেখুন।
উপলব্ধ id প্রপার্টিগুলোর তালিকা
উপলব্ধ id প্রপার্টিগুলো নিম্নরূপ:
-
pointOfInterest -
pointOfInterest.emergency -
pointOfInterest.emergency.fire -
pointOfInterest.emergency.hospital -
pointOfInterest.emergency.pharmacy -
pointOfInterest.emergency.police -
pointOfInterest.entertainment -
pointOfInterest.entertainment.arts -
pointOfInterest.entertainment.casino -
pointOfInterest.entertainment.cinema -
pointOfInterest.entertainment.historic -
pointOfInterest.entertainment.museum -
pointOfInterest.entertainment.themePark -
pointOfInterest.entertainment.touristAttraction -
pointOfInterest.foodAndDrink -
pointOfInterest.foodAndDrink.bar -
pointOfInterest.foodAndDrink.cafe -
pointOfInterest.foodAndDrink.restaurant -
pointOfInterest.foodAndDrink.winery -
pointOfInterest.landmark -
pointOfInterest.lodging -
pointOfInterest.recreation -
pointOfInterest.recreation.beach -
pointOfInterest.recreation.boating -
pointOfInterest.recreation.fishing -
pointOfInterest.recreation.golfCourse -
pointOfInterest.recreation.hotSpring -
pointOfInterest.recreation.natureReserve -
pointOfInterest.recreation.park -
pointOfInterest.recreation.peak -
pointOfInterest.recreation.sportsComplex -
pointOfInterest.recreation.sportsField -
pointOfInterest.recreation.trailhead -
pointOfInterest.recreation.zoo -
pointOfInterest.retail -
pointOfInterest.retail.grocery -
pointOfInterest.retail.shopping -
pointOfInterest.service -
pointOfInterest.service.atm -
pointOfInterest.service.bank -
pointOfInterest.service.carRental -
pointOfInterest.service.evCharging -
pointOfInterest.service.gasStation -
pointOfInterest.service.parkingLot -
pointOfInterest.service.postOffice -
pointOfInterest.service.restStop -
pointOfInterest.service.restroom -
pointOfInterest.transit -
pointOfInterest.transit.airport -
pointOfInterest.other -
pointOfInterest.other.bridge -
pointOfInterest.other.cemetery -
pointOfInterest.other.government -
pointOfInterest.other.library -
pointOfInterest.other.military -
pointOfInterest.other.placeOfWorship -
pointOfInterest.other.school -
pointOfInterest.other.townSquare -
political -
political.countryOrRegion -
political.border -
political.reservation -
political.stateOrProvince -
political.city -
political.sublocality -
political.neighborhood -
political.landParcel -
infrastructure -
infrastructure.building -
infrastructure.building.commercial -
infrastructure.businessCorridor -
infrastructure.roadNetwork -
infrastructure.roadNetwork.noTraffic -
infrastructure.roadNetwork.noTraffic.pedestrianMall -
infrastructure.roadNetwork.noTraffic.trail -
infrastructure.roadNetwork.noTraffic.trail.paved -
infrastructure.roadNetwork.noTraffic.trail.unpaved -
infrastructure.roadNetwork.parkingAisle -
infrastructure.roadNetwork.ramp -
infrastructure.roadNetwork.road -
infrastructure.roadNetwork.road.arterial -
infrastructure.roadNetwork.road.highway -
infrastructure.roadNetwork.road.local -
infrastructure.roadNetwork.road.noOutlet -
infrastructure.roadNetwork.roadShield -
infrastructure.roadNetwork.roadSign -
infrastructure.roadNetwork.roadDetail -
infrastructure.roadNetwork.roadDetail.surface -
infrastructure.roadNetwork.roadDetail.crosswalk -
infrastructure.roadNetwork.roadDetail.sidewalk -
infrastructure.roadNetwork.roadDetail.intersection -
infrastructure.railwayTrack -
infrastructure.railwayTrack.commercial -
infrastructure.railwayTrack.commuter -
infrastructure.transitStation -
infrastructure.transitStation.bicycleShare -
infrastructure.transitStation.busStation -
infrastructure.transitStation.ferryTerminal -
infrastructure.transitStation.funicularStation -
infrastructure.transitStation.gondolaStation -
infrastructure.transitStation.monorail -
infrastructure.transitStation.railStation -
infrastructure.transitStation.railStation.subwayStation -
infrastructure.transitStation.railStation.tramStation -
infrastructure.urbanArea -
natural -
natural.continent -
natural.archipelago -
natural.island -
natural.land -
natural.land.landCover -
natural.land.landCover.crops -
natural.land.landCover.dryCrops -
natural.land.landCover.forest -
natural.land.landCover.ice -
natural.land.landCover.sand -
natural.land.landCover.shrub -
natural.land.landCover.tundra -
natural.water -
natural.water.ocean -
natural.water.lake -
natural.water.river -
natural.water.other -
natural.base
উপাদান
এলিমেন্ট হলো একটি ম্যাপ ফিচারের উপবিভাগ। উদাহরণস্বরূপ, একটি রাস্তা ম্যাপের গ্রাফিক্যাল লাইন ( geometry ) এবং এর নাম নির্দেশকারী টেক্সট ( label ) নিয়ে গঠিত।
নিম্নলিখিত উপাদানগুলো উপলব্ধ আছে, তবে মনে রাখবেন যে একটি নির্দিষ্ট ম্যাপ ফিচার এই উপাদানগুলোর কোনোটিই, কয়েকটি, বা সবগুলোই সমর্থন করতে পারে:
-
geometry: নির্দিষ্ট ম্যাপ ফিচারের সমস্ত জ্যামিতিক উপাদান (যেমন, বহুভুজ, বহুরেখা) নির্বাচন করে। -
label: নির্দিষ্ট ম্যাপ ফিচারটির সমস্ত লেবেল উপাদান (যেমন, টেক্সট, পিন) নির্বাচন করে।
স্টাইলার্স
একটি ম্যাপ ফিচারের প্রতিটি উপাদানের জন্য স্টাইলার ব্যবহার করে আপনি আপনার স্টাইলের নিয়মগুলো নির্ধারণ করেন।
উদাহরণস্বরূপ, একটি বিল্ডিংয়ের নকশার প্রতিটি উপাদানকে আপনি নিম্নরূপে স্টাইল করতে পারেন:
একটি ভবনের জন্য geometry স্টাইলারের উদাহরণ | একটি ভবনের জন্য উদাহরণ label স্টাইলার |
|---|---|
| মানচিত্রে ভবনের ভিত্তিভূমির বহুভুজটি লুকানো হবে নাকি দেখানো হবে। | ভবনের লেবেলটি লুকানো হবে নাকি দেখানো হবে। |
| বহুভুজের ফিল কালার এবং অপাসিটি। | টেক্সট ফিল কালার এবং অপাসিটি। |
| বর্ডারের রঙ, অস্বচ্ছতা এবং প্রস্থ। | টেক্সট স্ট্রোকের রঙ এবং অস্বচ্ছতা। |
এই বিভাগে geometry এবং label উপাদানগুলির জন্য উপলব্ধ বিভিন্ন স্টাইল বিকল্পগুলি বর্ণনা করা হয়েছে।
geometry স্টাইলার
নিচের সারণিতে উপলব্ধ সমস্ত জ্যামিতিক স্টাইলার তালিকাভুক্ত করা হয়েছে।
| স্টাইলার | প্রকার | বর্ণনা |
|---|---|---|
| বুলিয়ান | ম্যাপ ফিচারের পলিগন বা পলিলাইন লুকাতে, এটিকে false এ সেট করুন। |
| স্ট্রিং | একটি RGB হেক্স স্ট্রিং ব্যবহার করে বহুভুজ বা বহুরেখার রঙ পরিবর্তন করুন। |
| ভাসতে | পলিগন বা পলিলাইনের অস্বচ্ছতা নিয়ন্ত্রণ করুন, যেখানে ০ হলো স্বচ্ছ এবং ১ হলো অস্বচ্ছ। |
| স্ট্রিং | একটি RGB হেক্স স্ট্রিং ব্যবহার করে আউটলাইনের রঙ কাস্টমাইজ করুন। |
| ভাসতে | আউটলাইনের অস্বচ্ছতা নিজের পছন্দমতো ঠিক করুন, যেখানে ০ হলো স্বচ্ছ এবং ১ হলো অস্বচ্ছ। |
| ভাসতে | আউটলাইনের পুরুত্ব ০ থেকে ৮ এর পরিসর থেকে কাস্টমাইজ করুন। |
আরও তথ্যের জন্য, বহুভুজ এবং বহুরেখা দেখুন।
label স্টাইলার
নিচের সারণিতে উপলব্ধ সমস্ত লেবেল স্টাইলারের তালিকা দেওয়া হলো।
| স্টাইলার | প্রকার | বর্ণনা |
|---|---|---|
| বুলিয়ান | ম্যাপের কোনো ফিচারের লেবেল লুকাতে, এটিকে false সেট করুন। |
| স্ট্রিং | একটি RGB হেক্স স্ট্রিং ব্যবহার করে টেক্সট লেবেলের রঙ কাস্টমাইজ করুন। |
| ভাসতে | টেক্সট লেবেলের অস্বচ্ছতা কাস্টমাইজ করুন, যেখানে ০ হলো স্বচ্ছ এবং ১ হলো অস্বচ্ছ। |
| স্ট্রিং | একটি RGB হেক্স স্ট্রিং ব্যবহার করে আউটলাইনের রঙ কাস্টমাইজ করুন। |
| ভাসতে | আউটলাইনের অস্বচ্ছতা নিজের পছন্দমতো ঠিক করুন, যেখানে ০ হলো স্বচ্ছ এবং ১ হলো অস্বচ্ছ। |
| ভাসতে | আউটলাইনের পুরুত্ব ০ থেকে ৮ এর পরিসর থেকে কাস্টমাইজ করুন। |
| স্ট্রিং | একটি RGB হেক্স স্ট্রিং ব্যবহার করে পিনের রঙ কাস্টমাইজ করুন। |
আরও তথ্যের জন্য, আইকন এবং টেক্সট লেবেল দেখুন।
Keyzooms
আপনি একটি ফিচারের জন্য সমস্ত কীজুম লেভেলের জন্য একটি একক স্টাইল সেট করতে পারেন অথবা বিভিন্ন কীজুম লেভেলের জন্য ভিন্ন ভিন্ন স্টাইল নির্দিষ্ট করতে পারেন। আপনি যদি শুধুমাত্র একটি স্টাইল প্রদান করেন, তবে সেটি z0 থেকে শুরু করে সমস্ত কীজুম লেভেলের জন্য ব্যবহৃত হবে। আপনি যদি বিভিন্ন কীজুম লেভেলের জন্য স্টাইল প্রদান করেন, তবে সেই স্টাইলটি বর্তমান জুম লেভেল থেকে আপনার নির্ধারিত পরবর্তী লেভেল পর্যন্ত প্রযোজ্য হবে।
কোনো স্টাইলের জন্য কীজুম লেভেল সেট করতে, স্টাইলার প্রপার্টিতে z0 থেকে z22 পর্যন্ত কীজুম লেভেল এবং তারপর স্টাইলার কাস্টমাইজেশন নির্ধারণ করুন।
নিচের উদাহরণে, কীজুম লেভেল ০-৫ পর্যন্ত পানির রঙ কালো, কীজুম লেভেল ৬-১১ পর্যন্ত গাঢ় ধূসর এবং কীজুম লেভেল ১২ থেকে হালকা ধূসর।
{
"id": "natural.water",
"geometry": {
"fillColor": {
"z0": "#000000",
"z6": "#666666",
"z12": "#cccccc"
}
}
}
আরও তথ্যের জন্য, স্টাইল জুম লেভেল দেখুন।
সীমাবদ্ধতা
গুগল ক্লাউড কনসোলের প্রায় সবকিছু স্টাইল করার জন্য আপনি JSON ব্যবহার করতে পারেন, তবে ম্যাপ সেটিংস মেনুর নিম্নলিখিত ফিচারগুলো এর ব্যতিক্রম:
- আগ্রহের বিষয়বস্তুগুলোর ঘনত্ব নিয়ন্ত্রণ করুন।
- ভবনগুলোর শৈলী পরিবর্তন করুন।
- ল্যান্ডমার্কগুলোর শৈলী পরিবর্তন করুন।
এই বৈশিষ্ট্যগুলির জন্য, আপনাকে ম্যাপ সেটিংস মেনু থেকে আপনার পছন্দ নির্বাচন করতে হবে।