مرجع سبک برای کیت توسعه نرم‌افزار Google Maps برای Android

پلاتفرم را انتخاب کنید: Android iOS JavaScript

با گزینه‌های سبک می‌توانید ارائه سبک‌های استاندارد نقشه 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 موجود آن نمی‌شود.