با اعمال کردن سبکهای خودتان هنگام استفاده از Maps Static API، ارائه نقشه استاندارد Google را سفارشیسازی کنید. میتوانید نمایش دیداری ویژگیهایی مثل جادهها، پارکها، مناطق مسکونی، و دیگر نقاط جالب را تغییر دهید. رنگ یا سبک آنها را تغییر دهید تا محتوای خاصی را برجسته کنید، محتوای اطراف صفحه را تکمیل کنید، یا حتی ویژگیها را بهطور کامل پنهان کنید.
مثالها
مثال زیر نقشهای از بروکلین، ایالات متحده، را با سبکدهی برای رنگآمیزی جادههای محلی به رنگ سبز روشن و مناطق مسکونی به رنگ سیاه نمایش میدهد. همچنین روشنایی برچسبها را معکوس میکند تا در پسزمینه تیره بهتر دیده شوند. توجه داشته باشید که این نمونه کاربردی از کدبندی نشانی وب استفاده میکند:
https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=15¢er=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¢er=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
را در نشانی وب درخواست بگنجانید.
هر اعلان style میتواند شامل آرگومانهای زیر باشد که با نویسههای پایپ ("|") از هم جدا شدهاند:
-
feature(اختیاری) ویژگیهایی را نشان میدهد که باید برای این اصلاح سبک انتخاب کنید. ویژگیها شامل چیزهایی در نقشه، مثل جادهها، پارکها، یا دیگر نقاط موردعلاقه میشود. اگر هیچ آرگومانfeatureوجود نداشته باشد، سبک مشخصشده برای همه عارضهها اعمال میشود. element(اختیاری) نشاندهنده عنصر(های) عارضه مشخصشده برای انتخاب این اصلاح سبک است. عناصر عبارتاند از ویژگیهای یک عارضه، مثل هندسه یا برچسبها. اگر هیچ آرگومانelementوجود نداشته باشد، سبک برای همه عناصر ویژگی مشخصشده اعمال میشود.- مجموعهای از قوانین سبک (الزامی) برای اعمال روی ویژگی(ها) و عنصر(های) مشخصشده. «میانای برنامهسازی کاربردی» قوانین را به ترتیبی که در
اظهارنامه
styleظاهر میشوند اعمال میکند. میتوانید هر تعداد قانون را در محدودیتهای عادی طول نشانی وب «میانای برنامهسازی کاربردی Maps Static» اضافه کنید.
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
عناصر زیرمجموعههای یک ویژگی هستند. برای مثال، جاده از خط گرافیکی (هندسه) روی نقشه و همچنین نوشتار نشاندهنده نام آن (برچسب) تشکیل شده است.
عناصر زیر دردسترس هستند، اما توجه داشته باشید که یک ویژگی خاص ممکن است از هیچیک، برخی، یا همه عناصر پشتیبانی کند:
رنگهای نوشتار برچسب fill و stroke براساس سطح بزرگنمایی تغییر میکند.
برای اینکه تجربه در سطوح بزرگنمایی یکسان باشد، همیشه هم fill
و هم stroke را تعریف کنید.
-
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 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 موجود آن نمیشود.