با گزینههای سبک میتوانید ارائه سبکهای استاندارد نقشه 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 مقدار رنگ هگز HTML را میگیرد، اما فقط از این مقدار برای تعیین رنگ اصلی استفاده میکند - یعنی جهت آن در چرخ رنگ، نه اشباع یا روشنایی آن، که بهصورت جداگانه بهعنوان تغییرات درصدی نشان داده میشوند.
برای مثال، میتوانید رنگ خالص سبز را بهصورت
hue:0x00ff00 یا hue:0x000100 تعریف کنید. هر دو رنگ یکسان هستند. هر دو مقدار در مدل رنگ HSL به سبز خالص اشاره دارند.

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