כשמשתמשים ב-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 באמצעות עקומת גאמה. אם Google מבצעת שינויים בסגנון של מפת הבסיס, השינויים משפיעים על התכונות במפה שהוגדרו להן סגנונות באמצעות
gamma
. אם אפשר, עדיף להשתמש בסגנון המוחלטcolor
.invert_lightness
(אםtrue
) הפוך את הבהירות הקיימת. האפשרות הזו שימושית, למשל, כדי לעבור במהירות למפה כהה יותר עם טקסט בלבן.הערה: האפשרות הזו פשוט הופכת את סגנון ברירת המחדל של Google. אם Google מבצעת שינויים בסגנון של מפת הבסיס, השינויים משפיעים על התכונות במפה שהוגדרו להן סגנונות באמצעות
invert_lightness
. אם אפשר, עדיף להשתמש בסגנון המוחלטcolor
.visibility
(on
,off
אוsimplified
) מציין אם הרכיב מופיע במפה, ואיך. כשהתכונהsimplified
מוגדרת, חלק ממאפייני הסגנון של התכונות המושפעות מוסרים. לדוגמה, כבישים מוצגים כקווים דקים יותר ללא קווים חיצוניים, ואילו פארקים מוצגים ללא טקסט התווית אבל עם סמל התווית.color
(מחרוזת הקסדצימלית של RGB בפורמט#RRGGBB
) קובע את הצבע של התכונה.weight
(ערך של מספר שלם, גדול מ-0 או שווה ל-0) קובע את המשקל של הישות בפיקסלים. הגדרת המשקל לערך גבוה עלולה לגרום לחיתוך של התמונה ליד גבולות המשבצות.
כללי הסגנון חלים לפי הסדר שציינתם. אל תשלבו מספר פעולות בפעולה אחת בסגנון. במקום זאת, מגדירים כל פעולה כרשומה נפרדת במערך הסגנונות.
הערה: הסדר חשוב, כי חלק מהפעולות לא הן הפכים. לתכונות ו/או לאלמנטים שמשתנים באמצעות פעולות סגנון (בדרך כלל) כבר יש סגנונות קיימים. הפעולות פועלות על הסגנונות הקיימים האלה, אם הם קיימים.
מודל הגוון, הרוויה והבהירות
במפות עם עיצוב נעשה שימוש במודל גוון, רוויה, בהירות (HSL) כדי לציין את הצבע בפעולות של הכלי לעיצוב. הגוון מציין את הצבע הבסיסי, העוצמה מציינת את עוצמת הצבע הזה והבהירות מציינת את כמות הלבן או השחור היחסית בצבע המרכיב.
תיקון גאמה משנה את הבהירות של מרחב הצבעים, בדרך כלל כדי להגביר או להפחית את הניגודיות. בנוסף, מודל HSL מגדיר צבע במרחב קואורדינטות שבו הערך hue
מציין את הכיוון בתוך גלגל הצבעים, בעוד שהעוצמה והבהירות מציינים את האמפליטודות בצירים שונים. הגוונים נמדדים במרחב צבעים של RGB, שהוא דומה לרוב המרחבים של צבעי RGB, מלבד העובדה שאין בו גוונים של לבן ושחור.
הפונקציה hue
מקבלת ערך של צבע HTML הקסדצימלי, אבל היא משתמשת בערך הזה רק כדי לקבוע את הצבע הבסיסי – כלומר את הכיוון שלו בגלגל הצבעים, ולא את הרוויה או הבהירות שלו, שמצוינים בנפרד כשינויים באחוזים.
לדוגמה, אפשר להגדיר את הגוון של ירוק טהור בתור hue:0x00ff00
או hue:0x000100
. שני הגוונים
זהים. שני הערכים מצביעים על ירוק טהור במודל הצבעים HSL.
גלגל צבעים של RGB
ערכי RGB hue
שכוללים חלקים שווים בצבעי אדום, ירוק וכחול
לא מציינים גוון, כי אף אחד מהערכים האלה לא מציין כיוון
במרחב הקואורדינטות של HSL. דוגמאות: #000000 (שחור), #FFFFFF (לבן) וכל גווני האפור הטהורים. כדי לציין שחור, לבן או אפור, צריך להסיר את כל הערכים של saturation
(להגדיר את הערך כ--100
) ולשנות את הערך של lightness
במקום זאת.
בנוסף, כשמשנים תכונות קיימות שכבר יש להן ערכת צבעים, שינוי של ערך כמו hue
לא משנה את הערכים הקיימים של saturation
או lightness
.