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