با گزینههای سبک میتوانید ارائه سبکهای استاندارد نقشه Google را سفارشیسازی کنید، نمایش بصری ویژگیهایی مانند جادهها، پارکها، کسبوکارها، و دیگر نقاط جالب را تغییر دهید. علاوهبر تغییر سبک این ویژگیها، میتوانید ویژگیها را بهطور کامل پنهان کنید. این یعنی میتوانید بر مؤلفههای خاصی از نقشه تأکید کنید یا نقشه را مکمل سبک صفحه اطراف کنید.
مثالها
اعلام سبک JSON زیر همه عارضههای نقشه را خاکستری میکند، سپس هندسه جاده شریانی را آبی میکند، و برچسبهای چشمانداز را کاملاً پنهان میکند:
[ { "featureType": "all", "stylers": [ { "color": "#C0C0C0" } ] },{ "featureType": "road.arterial", "elementType": "geometry", "stylers": [ { "color": "#CCFFFF" } ] },{ "featureType": "landscape", "elementType": "labels", "stylers": [ { "visibility": "off" } ] } ]
شیء JSON
اعلامیه سبک JSON شامل عناصر زیر است:
- featureType (اختیاری) - ویژگیهایی که باید برای این اصلاح سبک انتخاب شوند. عوارض، ویژگیهای جغرافیایی روی نقشه هستند، ازجمله جادهها، پارکها، پهنههای آبی، و غیره. اگر ویژگیای را مشخص نکنید، همه ویژگیها انتخاب میشوند.
- 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" }
عناصر زیربخشهای یک عارضه هستند. برای مثال، یک جاده از خط گرافیکی (هندسه) روی نقشه و همچنین نوشتاری که نام آن را نشان میدهد (برچسب) تشکیل شده است.
عناصر زیر دردسترس هستند، اما توجه داشته باشید که یک ویژگی خاص ممکن است از هیچیک، برخی، یا همه عناصر پشتیبانی کند:
رنگهای نوشتار برچسب fill و stroke براساس سطح بزرگنمایی تغییر میکند.
برای اینکه تجربه در همه سطوح بزرگنمایی یکسان باشد، همیشه هر دو fill
و stroke را تعریف کنید.
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(رشته RGB hex با قالب#RRGGBB) نشاندهنده رنگ اصلی است.توجه: این گزینه فام را تنظیم میکند و درعینحال اشباع و روشنایی مشخصشده در سبک پیشفرض 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(رشته RGB hex با قالب#RRGGBB) رنگ ویژگی را تنظیم میکند.weight(مقدار عدد صحیح، بزرگتر یا مساوی صفر) وزن ویژگی را به پیکسل تنظیم میکند. تنظیم وزن روی مقدار بالا ممکن است منجر به برش در نزدیکی مرزهای کاشی شود.
قوانین سبک به ترتیبی که مشخص میکنید اعمال میشوند. چندین عملیات را در یک عملیات سبک ترکیب نکنید. درعوض، هر عملیات را بهعنوان ورودی جداگانهای در آرایه سبک تعریف کنید.
توجه: ترتیب مهم است، زیرا برخیاز عملیاتها جابهجاییپذیر نیستند. ویژگیها و/یا عناصری که ازطریق عملیات سبک اصلاح میشوند (معمولاً) ازقبل سبکهای موجود دارند. این عملیات روی آن سبکهای موجود (درصورت وجود) اعمال میشود.
مدل تهرنگ، اشباع، میزان نور
نقشههای سبکدار از مدل فام، اشباع، روشنایی (HSL) برای نشان دادن رنگ در عملیات سبکساز استفاده میکنند. رنگمایه نشاندهنده رنگ اصلی است، اشباع رنگ نشاندهنده شدت آن رنگ است، و روشنایی نشاندهنده مقدار نسبی سفید یا سیاه در رنگ تشکیلدهنده است.
تصحیح
گاما روشنایی را در فضای رنگی اصلاح میکند، معمولاً
برای افزایش یا کاهش کنتراست. علاوهبراین، مدل HSL رنگ را در فضای مختصات تعریف میکند که در آن hue جهت را در چرخه رنگ نشان میدهد، درحالیکه اشباع و روشنایی دامنهها را در امتداد محورهای مختلف نشان میدهند. فامها در فضای رنگ RGB اندازهگیری میشوند که شبیه به اکثر فضاهای رنگ RGB است، با این تفاوت که سایههای سفید و سیاه وجود ندارند.

درحالیکه hue مقدار رنگ hex در HTML را میگیرد، فقط از این مقدار برای تعیین رنگ پایه استفاده میکند - یعنی جهت آن در اطراف چرخه رنگ، نه اشباع یا روشنایی آن، که بهصورت جداگانه بهعنوان تغییرات درصدی نشان داده میشوند.
برای مثال، میتوانید تهرنگ سبز خالص را بهصورت
hue:0x00ff00 یا hue:0x000100 تعریف کنید. هر دو فام یکسان هستند. هر دو مقدار در مدل رنگ HSL به سبز خالص اشاره دارند.

چرخه رنگ RGB
مقادیر RGB hue که از بخشهای مساوی قرمز، سبز، و آبی تشکیل شدهاند
نشاندهنده تهرنگ نیستند، زیرا هیچکدام از این مقادیر نشاندهنده جهت در
فضای مختصات HSL نیستند. نمونهها عبارتند از «#000000» (سیاه)، «#FFFFFF» (سفید)،
و همه سایههای خالص خاکستری. برای نشان دادن سیاه، سفید، یا خاکستری، باید
همه saturation را بردارید (مقدار را روی -100 تنظیم کنید) و
بهجای آن lightness را تنظیم کنید.
علاوهبراین، هنگام اصلاح ویژگیهای موجود که ازقبل آرایش رنگها دارند، تغییر دادن مقداری مثل hue باعث تغییر دادن saturation یا lightness موجود آن نمیشود.