סכימת ה-JSON לעיצוב מפות מבוסס-ענן מאפשרת לכם להשתמש ב-JSON כדי להתאים אישית מפות, בדיוק כמו שאתם עושים בממשק של עורך הסגנונות. במאמר הזה מתוארת סכימת ה-JSON ומוסבר איך ליצור הצהרות סגנון ב-JSON.
במאמר שימוש ב-JSON עם עיצוב מפות מבוסס-ענן מוסבר איך לערוך סגנון מפה באמצעות JSON בעורך הסגנונות, או איך לייבא ולייצא סגנון מפה.
הצגת הצהרת סגנון לדוגמה ב-JSON
הצהרת הסגנון הבאה ב-JSON מגדירה צבע רקע, ואז מגדירה סגנונות לנקודות עניין, פארקים, מקווי מים ומסתירה תוויות של מיקומים של אוכל ושתייה.
{
"variant": "light",
"styles": [
{
"id": "natural.land",
"geometry": {
"fillColor": "#f7e3f7"
}
},
{
"id": "natural.water",
"geometry": {
"fillColor": "#d4b2ff"
},
"label": {
"textFillColor": "#3d2163",
"textStrokeColor": "#f0e1ff"
}
},
{
"id": "pointOfInterest",
"label": {
"pinFillColor": "#e0349a",
"textFillColor": "#a11e6e",
"textStrokeColor": "#ffd9f0"
}
},
{
"id": "pointOfInterest.emergency.hospital",
"geometry": {
"fillColor": "#ffe3e3"
}
},
{
"id": "pointOfInterest.foodAndDrink",
"label": {
"visible": false
}
},
{
"id": "pointOfInterest.recreation.park",
"geometry": {
"fillColor": "#f9b9d2"
}
}
]
}
אובייקט ה-JSON
הצהרה בסגנון JSON מורכבת מאובייקט ברמה העליונה וממערך של כללי סגנון.
- מאפיינים ברמה העליונה (אופציונלי) – הגדרות סגנון גלובליות כמו
backgroundColorו-variant. -
styles– מערך של אובייקטים של כללי סגנון, שיכולים לכלול את האפשרויות הבאות:-
id– רכיב המפה שרוצים לבחור כדי לשנות את הסגנון שלו (לדוגמה,pointOfInterest.recreation.park). -
geometry(אופציונלי) – הרכיבים הגיאומטריים של מאפיין המפה וכללי הסגנון שרוצים להחיל (למשל,fillColor). -
label(אופציונלי) – הטקסט או תווית הסיכה של מאפיין המפה וכללי הסגנון שרוצים להחיל (למשל,textStrokeColor).
-
נכסים ברמה העליונה
המאפיינים בטבלה הבאה חלים על כל סגנון המפה.
| נכס | סוג | תיאור | דוגמה |
|---|---|---|---|
|
מחרוזת | התאמה אישית של צבע הרקע של אפליקציית המפה באמצעות מחרוזת הקסדצימלית #RRGGBB. אי אפשר לשנות את האטימות בהגדרה הזו. | "#002211" |
|
"light"|"dark" | מציינים מצב בהיר או מצב כהה. אם לא מציינים ערך, ברירת המחדל היא 'בהיר'. | "light" |
|
בוליאני | כדי להפעיל את האפשרות "מונוכרום", משתמשים ב-true כדי לקבל גרסה אפורה של המפה. |
|
|
אובייקט | נתונים שרירותיים של מפתח/ערך שנכללים בהגדרת הסגנון. אפשר להשתמש בשדה הזה כדי לכלול תוכן שלא קשור לסגנון. הנתונים האלה לא נשלחים ללקוחות של מפות, כמו Maps JavaScript SDK. |
|
אובייקטים של כללי סגנון
בקטע הזה מתוארים המאפיינים שמגדירים את אובייקטי כללי הסגנון במערך styles, כדי להתאים אישית את תכונות המפה. כל אובייקט של כלל סגנון חייב לכלול את הפרטים הבאים:
- נכס אחד (
id). - רכיב
geometryאוlabelעם מאפייני הסגנון המשויכים שמוגדרים.
id (רכיב במפה)
המאפיין id מציין את רכיב המפה שרוצים לעצב. שמות המאפיינים הם גרסאות camelcase של שמות התכונות במפה בכלי לעריכת סגנונות.
התכונות במפה יוצרות עץ קטגוריות. אם מציינים סוג של תכונת אב, כמו pointOfInterest, הסגנונות שמציינים עבור תכונת האב חלים על כל תכונות הצאצא שלה, כמו pointOfInterest.retail ו-pointOfInterest.lodging.
פרטים נוספים זמינים במאמר בנושא היררכיית הרכיבים במפה.
רשימת הנכסים הזמינים ב-id
אלה המאפיינים הזמינים של id:
pointOfInterestpointOfInterest.emergencypointOfInterest.emergency.firepointOfInterest.emergency.hospitalpointOfInterest.emergency.pharmacypointOfInterest.emergency.policepointOfInterest.entertainmentpointOfInterest.entertainment.artspointOfInterest.entertainment.casinopointOfInterest.entertainment.cinemapointOfInterest.entertainment.historicpointOfInterest.entertainment.museumpointOfInterest.entertainment.themeParkpointOfInterest.entertainment.touristAttractionpointOfInterest.foodAndDrinkpointOfInterest.foodAndDrink.barpointOfInterest.foodAndDrink.cafepointOfInterest.foodAndDrink.restaurantpointOfInterest.foodAndDrink.winerypointOfInterest.landmarkpointOfInterest.lodgingpointOfInterest.recreationpointOfInterest.recreation.beachpointOfInterest.recreation.boatingpointOfInterest.recreation.fishingpointOfInterest.recreation.golfCoursepointOfInterest.recreation.hotSpringpointOfInterest.recreation.natureReservepointOfInterest.recreation.parkpointOfInterest.recreation.peakpointOfInterest.recreation.sportsComplexpointOfInterest.recreation.sportsFieldpointOfInterest.recreation.trailheadpointOfInterest.recreation.zoopointOfInterest.retailpointOfInterest.retail.grocerypointOfInterest.retail.shoppingpointOfInterest.servicepointOfInterest.service.atmpointOfInterest.service.bankpointOfInterest.service.carRentalpointOfInterest.service.evChargingpointOfInterest.service.gasStationpointOfInterest.service.parkingLotpointOfInterest.service.postOfficepointOfInterest.service.restStoppointOfInterest.service.restroompointOfInterest.transitpointOfInterest.transit.airportpointOfInterest.otherpointOfInterest.other.bridgepointOfInterest.other.cemeterypointOfInterest.other.governmentpointOfInterest.other.librarypointOfInterest.other.militarypointOfInterest.other.placeOfWorshippointOfInterest.other.schoolpointOfInterest.other.townSquarepoliticalpolitical.countryOrRegionpolitical.borderpolitical.reservationpolitical.stateOrProvincepolitical.citypolitical.sublocalitypolitical.neighborhoodpolitical.landParcelinfrastructureinfrastructure.buildinginfrastructure.building.commercialinfrastructure.businessCorridorinfrastructure.roadNetworkinfrastructure.roadNetwork.noTrafficinfrastructure.roadNetwork.noTraffic.pedestrianMallinfrastructure.roadNetwork.noTraffic.trailinfrastructure.roadNetwork.noTraffic.trail.pavedinfrastructure.roadNetwork.noTraffic.trail.unpavedinfrastructure.roadNetwork.parkingAisleinfrastructure.roadNetwork.rampinfrastructure.roadNetwork.roadinfrastructure.roadNetwork.road.arterialinfrastructure.roadNetwork.road.highwayinfrastructure.roadNetwork.road.localinfrastructure.roadNetwork.road.noOutletinfrastructure.roadNetwork.roadShieldinfrastructure.roadNetwork.roadSigninfrastructure.roadNetwork.roadDetailinfrastructure.roadNetwork.roadDetail.surfaceinfrastructure.roadNetwork.roadDetail.crosswalkinfrastructure.roadNetwork.roadDetail.sidewalkinfrastructure.roadNetwork.roadDetail.intersectioninfrastructure.railwayTrackinfrastructure.railwayTrack.commercialinfrastructure.railwayTrack.commuterinfrastructure.transitStationinfrastructure.transitStation.bicycleShareinfrastructure.transitStation.busStationinfrastructure.transitStation.ferryTerminalinfrastructure.transitStation.funicularStationinfrastructure.transitStation.gondolaStationinfrastructure.transitStation.monorailinfrastructure.transitStation.railStationinfrastructure.transitStation.railStation.subwayStationinfrastructure.transitStation.railStation.tramStationinfrastructure.urbanAreanaturalnatural.continentnatural.archipelagonatural.islandnatural.landnatural.land.landCovernatural.land.landCover.cropsnatural.land.landCover.dryCropsnatural.land.landCover.forestnatural.land.landCover.icenatural.land.landCover.sandnatural.land.landCover.shrubnatural.land.landCover.tundranatural.waternatural.water.oceannatural.water.lakenatural.water.rivernatural.water.othernatural.base
רכיבים
רכיבים הם חלקי משנה של תכונה במפה. לדוגמה, כביש מורכב מהקו הגרפי (geometry) במפה, וגם מהטקסט שמציין את השם שלו (label).
הרכיבים הבאים זמינים, אבל חשוב לזכור שתכונה ספציפית במפה יכולה לתמוך בחלק מהרכיבים, בכולם או באף אחד מהם:
-
geometry: בוחר את כל הרכיבים הגיאומטריים (לדוגמה, פוליגון, קו שבור) של ישות המפה שצוינה. -
label: בחירה של כל רכיבי התווית (למשל, טקסט, סיכה) של תכונת המפה שצוינה.
מכשירים לאידוי בגדים
המאפיינים של סגנון מאפשרים להגדיר את כללי הסגנון לכל אלמנט של תכונת מפה.
לדוגמה, בשביל שטח בנוי, אפשר לעצב כל רכיב באופן הבא:
דוגמה לעיצוב geometry של בניין |
דוגמה לעיצוב label של בניין |
|---|---|
| האם להסתיר או להציג את הפוליגון לסימון השטח על הקרקע שתופס המבנה במפה. | אם להסתיר או להציג את התווית של הבניין. |
| צבע המילוי והאטימות של הפוליגון. | צבע ושקיפות המילוי של הטקסט. |
| צבע, שקיפות ורוחב הגבול. | צבע ושקיפות קו הטקסט. |
בקטע הזה מוסבר על אפשרויות הסגנון השונות שזמינות לרכיבים geometry ו-label.
geometry מעצבי שיער
בטבלה הבאה מפורטים כל הכלים הזמינים לעיצוב גיאומטרי.
| Styler | סוג | תיאור |
|---|---|---|
|
בוליאני | כדי להסתיר את הפוליגון או הקו הפוליגוני של מאפיין במפה, מגדירים את הערך false. |
|
מחרוזת | אפשר להתאים אישית את הצבע של הפוליגון או הקו הפוליגוני באמצעות מחרוזת הקסדצימלית של RGB. |
|
מספר ממשי (float) | אפשר להתאים אישית את האטימות של הפוליגון או הקו הפוליגוני, כאשר 0 הוא שקוף ו-1 הוא אטום. |
|
מחרוזת | אפשר להתאים אישית את צבע קו המתאר באמצעות מחרוזת הקסדצימלית של RGB. |
|
מספר ממשי (float) | אפשר להתאים אישית את האטימות של קווי המתאר, כאשר 0 הוא שקוף ו-1 הוא אטום. |
|
מספר ממשי (float) | אפשר להתאים אישית את עובי קו המתאר בטווח שבין 0 ל-8. |
מידע נוסף זמין במאמר פוליגונים וקווים פוליגוניים.
label מעצבי שיער
בטבלה הבאה מפורטים כל מעצבי התוויות הזמינים.
| Styler | סוג | תיאור |
|---|---|---|
|
בוליאני | כדי להסתיר את התווית של תכונת מפה, מגדירים את הערך false. |
|
מחרוזת | אפשר להתאים אישית את הצבע של תווית הטקסט באמצעות מחרוזת הקסדצימלית של RGB. |
|
מספר ממשי (float) | התאמה אישית של השקיפות של תווית הטקסט, כאשר 0 הוא שקוף ו-1 הוא אטום. |
|
מחרוזת | אפשר להתאים אישית את צבע קו המתאר באמצעות מחרוזת הקסדצימלית של RGB. |
|
מספר ממשי (float) | אפשר להתאים אישית את האטימות של קווי המתאר, כאשר 0 הוא שקוף ו-1 הוא אטום. |
|
מספר ממשי (float) | אפשר להתאים אישית את עובי קו המתאר בטווח שבין 0 ל-8. |
|
מחרוזת | התאמה אישית של צבע הסיכה באמצעות מחרוזת הקסדצימלית של RGB. |
|
מחרוזת | התאמה אישית של צבע הגליף (הסמל) בתוך סיכה באמצעות מחרוזת הקסדצימלית של RGB. |
|
מחרוזת | אפשר להתאים אישית את הצבע של קו המתאר של הסיכה באמצעות מחרוזת הקסדצימלית של RGB. |
מידע נוסף זמין במאמר סמלים ותוויות טקסט.
רמות זום קובעות
אפשר להגדיר סגנון אחד למאפיין בכל רמות הזום הקובעות, או לציין סגנונות שונים לרמות זום קובעות שונות. אם תגדירו רק סגנון אחד, הוא ישמש בכל רמות הזום הקובעות החל מ-z0. אם אתם מגדירים סגנונות לרמות זום קובעות שונות, הסגנון יחול מרמת הזום הזו ועד לרמה הבאה שהגדרתם.
כדי להגדיר רמת זום קובעת לסגנון, במאפיין לעיצוב, מגדירים את רמת הזום קובעת מ-z0 עד z22 ואז את ההתאמה האישית של מאפיין לעיצוב.
בדוגמה הבאה, צבע המים הוא שחור ברמות הזום הקובעות 0-5, אפור כהה ברמות הזום הקובעות 6-11 ואפור בהיר החל מרמת הזום הקובעת 12.
{
"id": "natural.water",
"geometry": {
"fillColor": {
"z0": "#000000",
"z6": "#666666",
"z12": "#cccccc"
}
}
}
מידע נוסף מופיע במאמר בנושא התאמה אישית של רמות הזום.
מגבלות
אפשר להשתמש ב-JSON כדי לעצב כמעט כל דבר במסוף Google Cloud, מלבד האפשרויות הבאות בתפריט Map Settings:
- שליטה בצפיפות של נקודות העניין.
- שינוי התצוגה של הבניינים (טביעות רגל לעומת תלת-ממד).
- לשנות את התצוגה של ציוני הדרך (מאוירת לעומת רגילה).
כדי שהאפשרויות האלה ברמת המפה יוצגו בצורה נכונה, צריך לאחזר מחדש את נתוני המשבצות, וזה עלול להיות לא רצוי בתרחישי שימוש מסוימים.
כדי להשתמש באפשרויות האלה, צריך לבחור את ההעדפה בתפריט הגדרות המפה.
האפשרויות האלה לא נכללות בסגנונות שמיוצאים, ולכן צריך לבחור אותן מחדש במסוף Google Cloud כשמייבאים סגנון.