میتوانید از گزینههای سبک برای سفارشیسازی ارائه Google Maps استاندارد استفاده کنید. میتوانید ظاهر ویژگیهایی مثل جادهها، پارکها، کسبوکارها، و دیگر نقاط جالب را تغییر دهید. علاوهبر تغییر ظاهر این عوارض نقشه، میتوانید عوارض نقشه را بهطور کامل پنهان کنید. این کار به شما امکان میدهد کارهایی مثل تأکید بر مؤلفههای خاص نقشه را انجام دهید یا نقشه را مکمل سبک صفحه اطراف کنید.
مثالها
اعلان سبک 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 را نشان نمیدهند. برای مثال، «#۰۰۰۰۰۰» (سیاه)، «#FFFFFF» (سفید)،
و همه سایههای خالص خاکستری. برای نشان دادن سیاه، سفید، یا خاکستری، باید
همه saturation را بردارید (مقدار را روی -100 تنظیم کنید) و
بهجای آن lightness را تنظیم کنید.
علاوهبراین، هنگام اصلاح ویژگیهای موجود که ازقبل آرایش رنگها دارند، تغییر دادن مقداری مثل hue باعث تغییر دادن saturation یا lightness موجود آن نمیشود.