نقشه های سبک

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

نمونه ها

مثال زیر نقشه ای از بروکلین، ایالات متحده را با طرحی برای رنگ آمیزی جاده های محلی سبز روشن و مناطق مسکونی سیاه نشان می دهد. همچنین روشنی برچسب ها را معکوس می کند، به طوری که در پس زمینه تاریک بهتر خودنمایی می کنند. توجه داشته باشید که این مثال کاری از رمزگذاری URL استفاده می کند:

https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=15&center=Brooklyn&style=feature:road.local%7Celement:geometry%7Ccolor:0x00ff00&style=feature:landscape%7Celement:geometry.fill%7Ccolor:0x000000&style=element:labels%7Cinvert_lightness:true&style=feature:road.arterial%7Celement:labels%7Cinvert_lightness:false&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
نقشه سبک بروکلین.

مثال زیر از عملیات طراحی و ساده‌سازی برای تقریب ظاهر اطلس جاده ایالات متحده استفاده می‌کند:

https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=12&center=Chicago&format=png&style=feature:road.highway%7Celement:geometry%7Cvisibility:simplified%7Ccolor:0xc280e9&style=feature:transit.line%7Cvisibility:simplified%7Ccolor:0xbababa&style=feature:road.highway%7Celement:labels.text.stroke%7Cvisibility:on%7Ccolor:0xb06eba&style=feature:road.highway%7Celement:labels.text.fill%7Cvisibility:on%7Ccolor:0xffffff&key=YOUR_API_KEY&signature=DITIGAL_SIGNATURE
سبک نقشه اطلس جاده ایالات متحده.

نحو سبک

برای ایجاد یک نقشه سبک سفارشی، یک یا چند پارامتر style را در URL درخواست قرار دهید.

هر اعلان style ممکن است حاوی آرگومان های زیر باشد که با کاراکترهای لوله (" | ") از هم جدا شده اند:

  • feature (اختیاری) ویژگی هایی را که برای این تغییر سبک انتخاب می شود نشان می دهد. ویژگی‌ها شامل چیزهایی روی نقشه، مانند جاده‌ها، پارک‌ها یا سایر نقاط دیدنی می‌شود. اگر هیچ آرگومان feature وجود نداشته باشد، سبک مشخص شده برای همه ویژگی ها اعمال می شود.
  • element (اختیاری) عنصر(های) ویژگی مشخص شده را برای انتخاب این تغییر سبک نشان می دهد. عناصر ویژگی های یک ویژگی هستند، مانند هندسه یا برچسب ها. اگر هیچ آرگومان element وجود نداشته باشد، این سبک برای همه عناصر ویژگی مشخص شده اعمال می شود.
  • مجموعه ای از قوانین سبک (اجباری) برای اعمال به ویژگی(ها) و عنصر(های) مشخص شده. API قوانین را به ترتیبی که در اعلان style ظاهر می شوند اعمال می کند. می‌توانید هر تعداد قانون را در محدودیت‌های معمولی طول URL در Maps Static API وارد کنید.
style=feature:myFeatureArgument|element:myElementArgument|myRule1:myRule1Argument|myRule2:myRule2Argument

ویژگی ها

اعلان style زیر همه جاده ها را در نقشه رنگ می کند:

style=feature:road|color:0xffffff

در اینجا برخی از ویژگی های رایج انتخاب شده است:

  • feature:all (پیش‌فرض) همه ویژگی‌های نقشه را انتخاب می‌کند.
  • feature:road همه جاده‌های روی نقشه را انتخاب می‌کند.
  • feature:road.local تمام جاده های محلی را انتخاب می کند.

ویژگی‌ها یا انواع ویژگی‌ها، ویژگی‌های جغرافیایی روی نقشه هستند، از جمله جاده‌ها، پارک‌ها، آب‌ها، مشاغل و موارد دیگر.

ویژگی‌ها درخت دسته‌بندی را تشکیل می‌دهند که 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 توده های آبی را انتخاب می کند.

عناصر

اعلان style زیر برچسب ها را برای همه جاده های محلی رنگ می کند:

style=feature:road.local|element:labels|color:0xffffff

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

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

  • all (پیش فرض) تمام عناصر ویژگی مشخص شده را انتخاب می کند.
  • geometry تمام عناصر هندسی ویژگی مشخص شده را انتخاب می کند.
    • geometry.fill فقط پر کردن هندسه ویژگی را انتخاب می کند.
    • geometry.stroke فقط خط هندسه ویژگی را انتخاب می کند.
  • labels برچسب های متنی مرتبط با ویژگی مشخص شده را انتخاب می کند.
    • labels.icon فقط نماد نمایش داده شده در برچسب ویژگی را انتخاب می کند.
    • labels.text فقط متن برچسب را انتخاب می کند.
    • labels.text.fill فقط پر کردن برچسب را انتخاب می کند. پر کردن یک برچسب معمولاً به صورت یک طرح کلی رنگی ارائه می شود که متن برچسب را احاطه کرده است.
    • labels.text.stroke فقط خط متن برچسب را انتخاب می کند.

قوانین سبک

قوانین سبک گزینه های قالب بندی هستند که برای ویژگی ها و عناصر مشخص شده در هر اعلامیه style اعمال می شوند.

اعلان style زیر دو قانون سبک را برای جاده های روی نقشه اعمال می کند. قانون اول یک رنگ را برای جاده ها اعمال می کند. قانون دوم نمایش جاده ها را ساده می کند، بنابراین آنها دارای خطوط نازک تری بدون خطوط هستند:

style=feature:road|color:0xffffff|visibility:simplified

هر اعلان style باید حاوی یک یا چند عملیات باشد که با استفاده از کاراکتر لوله (" | ") از هم جدا شده اند. هر عملیات مقدار آرگومان خود را با استفاده از کاراکتر کولون (" : ") مشخص می کند، و همه عملیات به ترتیبی که شما آنها را مشخص کرده اید، برای انتخاب اعمال می شود.

گزینه های سبک زیر پشتیبانی می شوند:

  • 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 موجود آن را تغییر نمی‌دهد.