مرجع سبک Map Tiles API

توسعه‌دهندگان منطقه اقتصادی اروپا (EEA)

می‌توانید از گزینه‌های سبک برای سفارشی‌سازی ارائه Google Maps استاندارد استفاده کنید. می‌توانید ظاهر ویژگی‌هایی مثل جاده‌ها، پارک‌ها، کسب‌وکارها، و دیگر نقاط جالب را تغییر دهید. علاوه‌بر تغییر ظاهر این عوارض نقشه، می‌توانید عوارض نقشه را به‌طور کامل پنهان کنید. این کار به شما امکان می‌دهد کارهایی مثل تأکید بر مؤلفه‌های خاص نقشه را انجام دهید یا نقشه را مکمل سبک صفحه اطراف کنید.

مثال‌ها

اعلان سبک 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 را نشان نمی‌دهند. برای مثال، «#۰۰۰۰۰۰» (سیاه)، «#FFFFFF» (سفید)، و همه سایه‌های خالص خاکستری. برای نشان دادن سیاه، سفید، یا خاکستری، باید همه saturation را بردارید (مقدار را روی -100 تنظیم کنید) و به‌جای آن lightness را تنظیم کنید.

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