סכימת ה-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, חוץ מהאפשרויות הבאות בתפריט הגדרות המפה:
- שליטה בצפיפות של נקודות העניין.
- שינוי התצוגה של הבניינים (טביעות רגל לעומת תלת-ממד).
- שינוי התצוגה (מאוירת לעומת רגילה) של ציוני דרך.
כדי שהאפשרויות האלה ברמת המפה יוצגו בצורה נכונה, צריך לאחזר מחדש את נתוני המשבצות, וזה עלול להיות לא רצוי בתרחישי שימוש מסוימים.
כדי להשתמש באפשרויות האלה, צריך לבחור את ההעדפה בתפריט הגדרות המפה.
האפשרויות האלה לא נכללות בסגנונות שמיוצאים, ולכן צריך לבחור אותן מחדש במסוף Google Cloud כשמייבאים סגנון.