هنگام استفاده از Maps Static API، ارائه نقشه استاندارد Google را با اعمال سبک های خود سفارشی کنید. میتوانید نمایش بصری ویژگیهایی مانند جادهها، پارکها، مناطق مسکونی و سایر نقاط مورد علاقه را تغییر دهید. رنگ یا سبک آنها را تغییر دهید تا بر محتوای خاص تأکید کنید، محتوای اطراف صفحه را تکمیل کنید، یا حتی ویژگی ها را به طور کامل پنهان کنید.
نمونه ها
مثال زیر نقشه ای از بروکلین، ایالات متحده را با طرحی برای رنگ آمیزی جاده های محلی سبز روشن و مناطق مسکونی سیاه نشان می دهد. همچنین روشنی برچسب ها را معکوس می کند، به طوری که در پس زمینه تاریک بهتر خودنمایی می کنند. توجه داشته باشید که این مثال کاری از رمزگذاری URL استفاده می کند:
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
را در 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
موجود آن را تغییر نمیدهد.