مرجع سبک برای Maps Static API

با گزینه‌های سبک می‌توانید ارائه سبک‌های استاندارد نقشه 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 با قالب #RRGGBB) رنگ ویژگی را تنظیم می‌کند.
  • ‫weight (مقدار صحیح، بزرگ‌تر یا مساوی با صفر) وزن ویژگی را برحسب پیکسل تنظیم می‌کند. تنظیم وزن روی مقدار بالا ممکن است منجر به برش در نزدیکی مرزهای کاشی شود.

قوانین سبک به ترتیبی که مشخص می‌کنید اعمال می‌شوند. چندین عملیات را در یک عملیات سبک ترکیب نکنید. به‌جای آن، هر عمل را به‌عنوان ورودی جداگانه‌ای در آرایه سبک تعریف کنید.

توجه: ترتیب مهم است، زیرا برخی‌از عملیات‌ها جابه‌جایی‌پذیر نیستند. ویژگی‌ها و/یا عناصری که ازطریق عملیات سبک اصلاح می‌شوند (معمولاً) ازقبل سبک‌های موجود دارند. این عملیات روی آن سبک‌های موجود (درصورت وجود) اعمال می‌شود.

مدل ته‌رنگ، اشباع، میزان نور

نقشه‌های سبک‌دار از مدل ته‌رنگ، اشباع، روشنایی (HSL) برای نشان دادن رنگ در عملیات سبک‌ساز استفاده می‌کنند. رنگ‌مایه نشان‌دهنده رنگ اصلی، اشباع رنگ نشان‌دهنده شدت آن رنگ، و روشنایی نشان‌دهنده مقدار نسبی سفید یا سیاه در رنگ تشکیل‌دهنده است.

تصحیح گاما روشنایی را در فضای رنگی اصلاح می‌کند، معمولاً برای افزایش یا کاهش کنتراست. علاوه‌براین، مدل HSL رنگ را در فضای مختصاتی تعریف می‌کند که در آن hue جهت‌گیری در چرخ رنگ را نشان می‌دهد، درحالی‌که اشباع و روشنایی دامنه‌ها را در امتداد محورهای مختلف نشان می‌دهد. ته‌رنگ‌ها در فضای رنگ RGB اندازه‌گیری می‌شوند که شبیه به اکثر فضاهای رنگ RGB است، با این تفاوت که سایه‌های سفید و سیاه در آن وجود ندارد.

مدل ته‌رنگ، اشباع، میزان نور

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

برای مثال، می‌توانید ته‌رنگ سبز خالص را به‌صورت hue:0x00ff00 یا hue:0x000100 تعریف کنید. هر دو رنگ یکسان هستند. هر دو مقدار به سبز خالص در مدل رنگ HSL اشاره می‌کنند.

چرخ رنگ RGB

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

علاوه‌براین، هنگام اصلاح ویژگی‌های موجود که ازقبل آرایش رنگ‌ها دارند، تغییر دادن مقداری مثل hue باعث تغییر دادن saturation یا lightness موجود آن نمی‌شود.