ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিংয়ের জন্য JSON স্কিমা আপনাকে JSON ব্যবহার করে ম্যাপ কাস্টমাইজ করতে দেয়, ঠিক যেমন আপনি স্টাইল এডিটর ইন্টারফেসের মাধ্যমে করেন। এই ডকুমেন্টে JSON স্কিমা এবং কীভাবে JSON স্টাইল ডিক্লারেশন করতে হয় তা বর্ণনা করা হয়েছে।
স্টাইল এডিটরের মধ্যে JSON ব্যবহার করে কীভাবে ম্যাপ স্টাইল এডিট করতে হয় অথবা ম্যাপ স্টাইল ইমপোর্ট ও এক্সপোর্ট করতে হয় তা জানতে, ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিংয়ের সাথে JSON ব্যবহার করুন দেখুন।
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)।
টপ-লেভেল প্রপার্টি
নিম্নলিখিত সারণীতে উল্লেখ করা প্রপার্টিগুলি সম্পূর্ণ ম্যাপ স্টাইলের ক্ষেত্রে প্রযোজ্য।
| প্রপার্টি | Type | বিবরণ | উদাহরণ |
|---|---|---|---|
|
স্ট্রিং | #RRGGBB হেক্স স্ট্রিং ব্যবহার করে ম্যাপ অ্যাপের ব্যাকগ্রাউন্ডের রঙ কাস্টমাইজ করুন। এই সেটিংয়ে অস্বচ্ছতা পরিবর্তন করা যায় না। | "#002211" |
|
"হালকা"|"গাঢ়" | লাইট বা ডার্ক মোড নির্দিষ্ট করুন। উল্লেখ করা না থাকলে, ডিফল্ট হিসেবে "লাইট" সেট করা থাকে। | "হালকা" |
|
বুলিয়ান | মনোক্রোম চালু করতে, ম্যাপের ধূসর ভার্সনের জন্য true ব্যবহার করুন। |
|
|
অবজেক্ট | স্টাইল সংজ্ঞায় অন্তর্ভুক্ত ইচ্ছামতো কী-ভ্যালু ডেটা। স্টাইল সম্পর্কে স্টাইলিং-সম্পর্কিত নয় এমন কন্টেন্ট অন্তর্ভুক্ত করতে আপনি এই ফিল্ড ব্যবহার করতে পারেন। এই ডেটা Maps JavaScript SDK-এর মতো ম্যাপ ক্লায়েন্টকে পাঠানো হয় না। |
|
স্টাইল সংক্রান্ত নিয়মের অবজেক্ট
এই বিভাগে সেইসব প্রপার্টি বর্ণনা করা হয়েছে যা ম্যাপ ফিচার কাস্টমাইজ করার জন্য
styles অ্যারেতে স্টাইল রুল অবজেক্টকে সংজ্ঞায়িত করে। প্রতিটি স্টাইল রুল অবজেক্টে নিম্নলিখিত
জিনিসগুলি থাকতে হবে:
idপ্রপার্টি।geometryবাlabelএলিমেন্ট, যার সাথে সম্পর্কিত স্টাইলার প্রপার্টি নির্দিষ্ট করা আছে।
id (ম্যাপ ফিচার)
id প্রপার্টি ম্যাপ ফিচারের স্টাইল নির্দিষ্ট করে। প্রপার্টির নাম হল
স্টাইল এডিটরে ম্যাপ ফিচার নামের ক্যামেলকেস ভার্সন।
ম্যাপ ফিচারগুলি একটি বিভাগ ট্রি তৈরি করে। আপনি যদি কোনও পেরেন্ট ফিচার টাইপ উল্লেখ করেন,
যেমন pointOfInterest, তাহলে পেরেন্টের জন্য আপনার উল্লেখ করা স্টাইলগুলি
তার সব চাইল্ডের ক্ষেত্রে প্রযোজ্য হবে, যেমন pointOfInterest.retail এবং pointOfInterest.lodging।
আরও জানতে, ম্যাপ ফিচার হায়ারার্কি দেখুন।
উপলভ্য idটি প্রপার্টির তালিকা
উপলভ্য id প্রপার্টিগুলি নিচে দেওয়া হল:
pointOfInterestpointOfInterest.emergencypointOfInterest.emergency.firepointOfInterest.emergency.hospitalpointOfInterest.emergency.pharmacypointOfInterest.emergency.policepointOfInterest.entertainmentpointOfInterest.entertainment.artspointOfInterest.entertainment.casinopointOfInterest.entertainment.cinemapointOfInterest.entertainment.historicpointOfInterest.entertainment.museumpointOfInterest.entertainment.themeParkpointOfInterest.entertainment.touristAttractionpointOfInterest.foodAndDrinkpointOfInterest.foodAndDrink.barpointOfInterest.foodAndDrink.cafepointOfInterest.foodAndDrink.restaurantpointOfInterest.foodAndDrink.winerypointOfInterest.landmarkpointOfInterest.lodgingpointOfInterest.recreationpointOfInterest.recreation.beachpointOfInterest.recreation.boatingpointOfInterest.recreation.fishingpointOfInterest.recreation.golfCoursepointOfInterest.recreation.hotSpringpointOfInterest.recreation.natureReservepointOfInterest.recreation.parkpointOfInterest.recreation.peakpointOfInterest.recreation.sportsComplexpointOfInterest.recreation.sportsFieldpointOfInterest.recreation.trailheadpointOfInterest.recreation.zoopointOfInterest.retailpointOfInterest.retail.grocerypointOfInterest.retail.shoppingpointOfInterest.servicepointOfInterest.service.atmpointOfInterest.service.bankpointOfInterest.service.carRentalpointOfInterest.service.evChargingpointOfInterest.service.gasStationpointOfInterest.service.parkingLotpointOfInterest.service.postOfficepointOfInterest.service.restStoppointOfInterest.service.restroompointOfInterest.transitpointOfInterest.transit.airportpointOfInterest.otherpointOfInterest.other.bridgepointOfInterest.other.cemeterypointOfInterest.other.governmentpointOfInterest.other.librarypointOfInterest.other.militarypointOfInterest.other.placeOfWorshippointOfInterest.other.schoolpointOfInterest.other.townSquarepoliticalpolitical.countryOrRegionpolitical.borderpolitical.reservationpolitical.stateOrProvincepolitical.citypolitical.sublocalitypolitical.neighborhoodpolitical.landParcelinfrastructureinfrastructure.buildinginfrastructure.building.commercialinfrastructure.businessCorridorinfrastructure.roadNetworkinfrastructure.roadNetwork.noTrafficinfrastructure.roadNetwork.noTraffic.pedestrianMallinfrastructure.roadNetwork.noTraffic.trailinfrastructure.roadNetwork.noTraffic.trail.pavedinfrastructure.roadNetwork.noTraffic.trail.unpavedinfrastructure.roadNetwork.parkingAisleinfrastructure.roadNetwork.rampinfrastructure.roadNetwork.roadinfrastructure.roadNetwork.road.arterialinfrastructure.roadNetwork.road.highwayinfrastructure.roadNetwork.road.localinfrastructure.roadNetwork.road.noOutletinfrastructure.roadNetwork.roadShieldinfrastructure.roadNetwork.roadSigninfrastructure.roadNetwork.roadDetailinfrastructure.roadNetwork.roadDetail.surfaceinfrastructure.roadNetwork.roadDetail.crosswalkinfrastructure.roadNetwork.roadDetail.sidewalkinfrastructure.roadNetwork.roadDetail.intersectioninfrastructure.railwayTrackinfrastructure.railwayTrack.commercialinfrastructure.railwayTrack.commuterinfrastructure.transitStationinfrastructure.transitStation.bicycleShareinfrastructure.transitStation.busStationinfrastructure.transitStation.ferryTerminalinfrastructure.transitStation.funicularStationinfrastructure.transitStation.gondolaStationinfrastructure.transitStation.monorailinfrastructure.transitStation.railStationinfrastructure.transitStation.railStation.subwayStationinfrastructure.transitStation.railStation.tramStationinfrastructure.urbanAreanaturalnatural.continentnatural.archipelagonatural.islandnatural.landnatural.land.landCovernatural.land.landCover.cropsnatural.land.landCover.dryCropsnatural.land.landCover.forestnatural.land.landCover.icenatural.land.landCover.sandnatural.land.landCover.shrubnatural.land.landCover.tundranatural.waternatural.water.oceannatural.water.lakenatural.water.rivernatural.water.othernatural.base
এলিমেন্ট
এলিমেন্ট হল ম্যাপ ফিচারের সাবডিভিশন। যেমন, ম্যাপে কোনও রাস্তা
গ্রাফিক্যাল লাইন (geometry) এবং রাস্তার নাম (label)
দিয়ে দেখানো হয়।
নিম্নলিখিত এলিমেন্টগুলি উপলভ্য, তবে মনে রাখবেন যে একটি নির্দিষ্ট ম্যাপ ফিচার এলিমেন্টগুলির কোনওটি, কিছু বা সবকটি সমর্থন করতে পারে:
geometry: নির্দিষ্ট ম্যাপ ফিচারের সব জ্যামিতিক এলিমেন্ট (যেমন, পলিগন, পলিলাইন) বেছে নেয়।label: নির্দিষ্ট ম্যাপ ফিচারের সব লেবেল এলিমেন্ট (যেমন, টেক্সট, পিন) বেছে নেয়।
স্টাইলার
ম্যাপ ফিচারের প্রতিটি এলিমেন্টের জন্য আপনি কীভাবে স্টাইল রুল নির্ধারণ করবেন তা স্টাইলারের মাধ্যমে বোঝানো হয়।
যেমন, বিল্ডিং ফুটপ্রিন্টের জন্য আপনি প্রতিটি এলিমেন্টকে এইভাবে স্টাইল করতে পারেন:
কোনও বিল্ডিংয়ের জন্য geometry স্টাইলারের উদাহরণ |
কোনও বিল্ডিংয়ের জন্য label স্টাইলারের উদাহরণ |
|---|---|
| ম্যাপে বিল্ডিং ফুটপ্রিন্ট পলিগন লুকানো বা দেখানো হবে কিনা। | বিল্ডিংয়ের লেবেল লুকানো বা দেখানো হবে কিনা। |
| বহুভুজের ভরাট করার রঙ এবং অস্বচ্ছতা। | টেক্সটের রঙ এবং অস্পষ্টতা। |
| বর্ডারের রঙ, অস্পষ্টতা এবং প্রস্থ। | টেক্সট স্ট্রোকের রঙ এবং অস্পষ্টতা। |
এই বিভাগে geometry এবং label এলিমেন্টের জন্য উপলভ্য বিভিন্ন স্টাইল বিকল্পের বর্ণনা করা হয়েছে।
geometry স্টাইলার
নিম্নলিখিত সারণীতে উপলভ্য সব জ্যামিতিক স্টাইলারের তালিকা দেওয়া হল।
| Styler | Type | বিবরণ |
|---|---|---|
|
বুলিয়ান | ম্যাপ ফিচারের পলিগন বা পলিলাইন লুকাতে, false-এ সেট করুন। |
|
স্ট্রিং | RGB হেক্স স্ট্রিং ব্যবহার করে বহুভুজ বা পলিলাইনের রঙ কাস্টমাইজ করুন। |
|
ফ্লোট | বহুভুজ বা পলিলাইনের অস্বচ্ছতা কাস্টমাইজ করুন, যেখানে 0 হল স্বচ্ছ এবং 1 হল অস্বচ্ছ। |
|
স্ট্রিং | RGB হেক্স স্ট্রিংয়ের মাধ্যমে আউটলাইনের রঙ কাস্টমাইজ করুন। |
|
ফ্লোট | আউটলাইনের অস্বচ্ছতা কাস্টমাইজ করুন, যেখানে ০ হল স্বচ্ছ এবং ১ হল অস্বচ্ছ। |
|
ফ্লোট | ০ থেকে ৮-এর মধ্যে আউটলাইনের ঘনত্ব কাস্টমাইজ করুন। |
আরও তথ্যের জন্য, পলিগন ও পলিলাইন দেখুন।
label স্টাইলার
নিম্নলিখিত সারণীতে উপলভ্য সব লেবেল স্টাইলারের তালিকা দেওয়া হয়েছে।
| Styler | Type | বিবরণ |
|---|---|---|
|
বুলিয়ান | ম্যাপ ফিচারের লেবেল লুকাতে, false-এ সেট করুন। |
|
স্ট্রিং | RGB হেক্স স্ট্রিংয়ের মাধ্যমে টেক্সট লেবেলের রঙ কাস্টমাইজ করুন। |
|
ফ্লোট | টেক্সট লেবেলের অস্বচ্ছতা কাস্টমাইজ করুন, যেখানে ০ হল স্বচ্ছ এবং ১ হল অস্বচ্ছ। |
|
স্ট্রিং | RGB হেক্স স্ট্রিংয়ের মাধ্যমে আউটলাইনের রঙ কাস্টমাইজ করুন। |
|
ফ্লোট | আউটলাইনের অস্বচ্ছতা কাস্টমাইজ করুন, যেখানে ০ হল স্বচ্ছ এবং ১ হল অস্বচ্ছ। |
|
ফ্লোট | ০ থেকে ৮-এর মধ্যে আউটলাইনের ঘনত্ব কাস্টমাইজ করুন। |
|
স্ট্রিং | RGB হেক্স স্ট্রিংয়ের মাধ্যমে পিনের রঙ কাস্টমাইজ করুন। |
|
স্ট্রিং | RGB হেক্স স্ট্রিং ব্যবহার করে পিনের মধ্যে গ্লিফের (আইকন) রঙ কাস্টমাইজ করুন। |
|
স্ট্রিং | RGB হেক্স স্ট্রিং ব্যবহার করে পিন আউটলাইনের রঙ কাস্টমাইজ করুন। |
আরও তথ্যের জন্য, আইকন ও টেক্সট লেবেল দেখুন।
কী-জুম
আপনি সব কী-জুম লেভেলের জন্য কোনও ফিচারের একটি স্টাইল সেট করতে পারেন অথবা বিভিন্ন কী-জুম লেভেলের জন্য বিভিন্ন স্টাইল নির্দিষ্ট করতে পারেন। আপনি শুধুমাত্র একটি স্টাইল প্রদান করলে, এটি z0 থেকে শুরু করে সব কী-জুম লেভেলের জন্য ব্যবহার করা হবে। আপনি যদি বিভিন্ন কী-জুম লেভেলের জন্য স্টাইল প্রদান করেন, তাহলে সেই জুম লেভেল থেকে আপনার সংজ্ঞায়িত পরবর্তী জুম লেভেল পর্যন্ত স্টাইলটি প্রয়োগ করা হবে।
কোনও স্টাইলের জন্য কী-জুম লেভেল সেট করতে, স্টাইলার প্রপার্টিতে, z0 থেকে z22 পর্যন্ত কী-জুম লেভেল এবং তারপরে স্টাইলার কাস্টমাইজেশন নির্ধারণ করুন।
নিচের উদাহরণে, জলের রঙ কী-জুম লেভেল ০-৫ পর্যন্ত কালো, কী-জুম লেভেল ৬-১১ পর্যন্ত গাঢ় ধূসর এবং কী-জুম লেভেল ১২ থেকে শুরু করে হালকা ধূসর।
{
"id": "natural.water",
"geometry": {
"fillColor": {
"z0": "#000000",
"z6": "#666666",
"z12": "#cccccc"
}
}
}
আরও তথ্যের জন্য, স্টাইল জুম লেভেল দেখুন।
সীমাবদ্ধতা
ম্যাপ সেটিংস মেনুর নিম্নলিখিত বিকল্পগুলি ছাড়া, Google Cloud কনসোলের প্রায় সবকিছুর স্টাইল করার জন্য আপনি JSON ব্যবহার করতে পারবেন:
- উল্লেখযোগ্য স্থানের ঘনত্ব নিয়ন্ত্রণ করুন।
- বিল্ডিংয়ের ডিসপ্লে (ফুটপ্রিন্ট বনাম 3D) পরিবর্তন করুন।
- ল্যান্ডমার্কের ডিসপ্লে (ইলাস্ট্রেটেড বনাম স্ট্যান্ডার্ড) পরিবর্তন করুন।
এই ম্যাপ-লেভেল বিকল্পগুলি সঠিকভাবে রেন্ডার করার জন্য টাইল ডেটা আবার আনতে হবে, যা নির্দিষ্ট কিছু ব্যবহারের ক্ষেত্রে অবাঞ্ছিত হতে পারে।
এইসব বিকল্পের জন্য, আপনাকে অবশ্যই ম্যাপ সেটিংস মেনুতে আপনার পছন্দ বেছে নিতে হবে।
এইসব বিকল্প এক্সপোর্ট করা স্টাইলে অন্তর্ভুক্ত থাকে না, তাই স্টাইল ইম্পোর্ট করার সময় Google Cloud কনসোল থেকে এগুলি আবার বেছে নিতে হবে।