مرجع سبک برای Maps SDK برای iOS

پلتفرم را انتخاب کنید: 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"
}

عناصر زیرمجموعه های یک ویژگی هستند. به عنوان مثال، یک جاده از خط گرافیکی (هندسه) روی نقشه و همچنین متنی که نام آن را نشان می دهد (یک برچسب) تشکیل شده است.

عناصر زیر در دسترس هستند، اما توجه داشته باشید که یک ویژگی خاص ممکن است از هیچ یک، برخی یا همه عناصر پشتیبانی نکند:

  • 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 با فرمت #RRGGBB ) رنگ اصلی را نشان می دهد.

    توجه: این گزینه با حفظ اشباع و روشنایی مشخص شده در سبک پیش‌فرض Google (یا در گزینه‌های سبک دیگری که روی نقشه تعریف می‌کنید)، رنگ را تنظیم می‌کند. رنگ حاصل نسبت به سبک نقشه پایه است. اگر Google هر گونه تغییری در سبک نقشه پایه ایجاد کند، این تغییرات بر ویژگی‌های نقشه شما که با hue استایل شده است، تأثیر می‌گذارد. در صورت امکان بهتر است از استایلر color مطلق استفاده کنید.

  • lightness (مقدار ممیز شناور بین -100 تا 100 ) درصد تغییر در روشنایی عنصر را نشان می دهد. مقادیر منفی تاریکی را افزایش می دهد (که در آن 100- رنگ سیاه را مشخص می کند) در حالی که مقادیر مثبت روشنایی را افزایش می دهد (در جایی که +100 مشخص کننده سفید است).

    توجه: این گزینه با حفظ اشباع و رنگ مشخص شده در سبک پیش‌فرض Google (یا در سایر گزینه‌های سبکی که روی نقشه تعریف می‌کنید)، روشنایی را تنظیم می‌کند. رنگ حاصل نسبت به سبک نقشه پایه است. اگر Google هر گونه تغییری در سبک نقشه پایه ایجاد کند، این تغییرات بر ویژگی‌های نقشه شما که با lightness طراحی شده است، تأثیر می‌گذارد. در صورت امکان بهتر است از استایلر color مطلق استفاده کنید.

  • saturation (مقدار ممیز شناور بین -100 و 100 ) درصد تغییر در شدت رنگ پایه برای اعمال به عنصر را نشان می دهد.

    توجه: این گزینه با حفظ رنگ و روشنایی مشخص شده در سبک پیش‌فرض Google (یا در سایر گزینه‌های سبکی که روی نقشه تعریف می‌کنید)، میزان اشباع را تنظیم می‌کند. رنگ حاصل نسبت به سبک نقشه پایه است. اگر Google هر گونه تغییری در سبک نقشه پایه ایجاد کند، این تغییرات بر ویژگی‌های نقشه شما که با saturation است تأثیر می‌گذارد. در صورت امکان بهتر است از استایلر color مطلق استفاده کنید.

  • gamma (مقدار ممیز شناور بین 0.01 و 10.0 ، که در آن 1.0 هیچ اصلاحی اعمال نمی کند) میزان تصحیح گاما را برای اعمال بر عنصر نشان می دهد. اصلاحات گاما روشنایی رنگ ها را به صورت غیر خطی تغییر می دهد، در حالی که بر مقادیر سفید یا سیاه تأثیر نمی گذارد. تصحیح گاما معمولاً برای اصلاح کنتراست چند عنصر استفاده می شود. به عنوان مثال، می توانید گاما را برای افزایش یا کاهش کنتراست بین لبه ها و فضای داخلی عناصر تغییر دهید.

    توجه: این گزینه با استفاده از منحنی گاما، نور را نسبت به سبک پیش‌فرض گوگل تنظیم می‌کند. اگر Google هر گونه تغییری در سبک نقشه پایه ایجاد کند، این تغییرات بر ویژگی‌های نقشه شما که با gamma استایل شده است، تأثیر می‌گذارد. در صورت امکان بهتر است از استایلر color مطلق استفاده کنید.

  • invert_lightness (اگر true ) سبکی موجود را معکوس می کند. این برای مثال برای جابجایی سریع به نقشه تیره‌تر با متن سفید مفید است.

    توجه: این گزینه به سادگی استایل پیش فرض گوگل را معکوس می کند. اگر Google هر گونه تغییری در سبک نقشه پایه ایجاد کند، این تغییرات بر ویژگی‌های نقشه شما که با invert_lightness استایل شده است، تأثیر می‌گذارد. در صورت امکان بهتر است از استایلر color مطلق استفاده کنید.

  • visibility ( on ، off یا simplified ) نشان می دهد که آیا و چگونه عنصر روی نقشه ظاهر می شود. یک دید simplified برخی از ویژگی های سبک را از ویژگی های تحت تأثیر حذف می کند. برای مثال، جاده‌ها به خطوط باریک‌تر بدون خطوط اصلی ساده‌سازی می‌شوند، در حالی که پارک‌ها متن برچسب خود را از دست می‌دهند اما نماد برچسب را حفظ می‌کنند.
  • color (رشته شش گوش RGB با فرمت #RRGGBB ) رنگ ویژگی را تنظیم می کند.
  • weight (یک مقدار صحیح، بزرگتر یا مساوی صفر) وزن ویژگی را بر حسب پیکسل تعیین می کند. تنظیم وزن روی مقدار زیاد ممکن است منجر به بریدن نزدیک مرزهای کاشی شود.

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

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

مدل رنگ، اشباع، سبکی

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

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

مدل رنگ، اشباع، سبکی

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

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

یک چرخ رنگی RGB

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

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