מדריך ומקרים לדוגמה של Map Management API

אתם יכולים להשתמש ב-Map Management API כדי לנהל באופן פרוגרמטי את המשאבים של עיצוב מפות מבוסס-ענן, גם בנקודות הקצה של v2alpha (ניסיוני) וגם בנקודות הקצה של v2beta (גרסת טרום-השקה).

סיכום הפעולות

כדי להציג מפה בהתאמה אישית באמצעות Map Management API, צריך לבצע את השלבים העיקריים הבאים:

  1. יצירת StyleConfig: מגדירים את המראה החזותי של המפה באמצעות ייצוג JSON של הצבעים, החשיפה והצפיפות.
  2. יצירת MapConfig: יוצרים מזהה מפה ייחודי שמשמש כמאגר לזהות של המפה ולתכונות ברמה גבוהה.
  3. משייכים אותם ל-MapContextConfig: מקשרים את StyleConfig (וקבוצות נתונים אופציונליות) לווריאציות ספציפיות של מפות (כמו ROADMAP או SATELLITE) בתוך MapConfig.

התנהגויות ברירת מחדל

כשמשתמשים בנקודות הקצה של גרסה 2, חשוב לזכור את פעולות ברירת המחדל הבאות:

  • סוג המפה: סוג העיבוד של המפה שמוגדר כברירת מחדל הוא RASTER. כדי להשתמש במפות וקטוריות, צריך להגדיר באופן מפורש את map_type ל-VECTOR ב-MapConfig.
  • גרסת מפה: אם לא צוינו map_variants כשנוצר MapContextConfig, כברירת מחדל ההגדרות האישיות יחולו רק על הגרסה ROADMAP.
  • סגנון בסיסי: אם json_style_sheet ריק או לא צוין ב-StyleConfig, המערכת תשתמש במפה הבסיסית של Google כברירת מחדל ללא סגנון.

עבודה עם StyleConfigs

StyleConfig מכיל את הגדרות העיצוב שמבוססות על JSON.

יצירת StyleConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs \
-d '{
  "display_name": "My Custom Style",
  "json_style_sheet": "[{\"featureType\":\"all\",\"stylers\":[{\"saturation\":-100}]}]"
}'

הצגת רשימה של StyleConfigs

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs

עבודה עם MapConfigs

MapConfig מגדיר את הזהות ואת סוג העיבוד (rendering) העיקרי של המפה.

יצירת MapConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs \
-d '{
  "display_name": "My New Map",
  "map_type": "VECTOR"
}'

עבודה עם MapContextConfigs

MapContextConfig מקשר בין סגנון לבין MapConfig.

יצירת MapContextConfig

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs/YOUR_MAP_ID/mapContextConfigs \
-d '{
  "style_config": "projects/YOUR_PROJECT_ID/styleConfigs/YOUR_STYLE_ID",
  "map_variants": ["ROADMAP", "NAVIGATION"]
}'

שגיאות

  • ‫PERMISSION_DENIED: לבקשה אין מספיק הרשאות IAM או שה-API לא מופעל בפרויקט.
  • ‫NOT_FOUND: המשאב שצוין (פרויקט, MapConfig או StyleConfig) לא קיים.
  • ‫INVALID_ARGUMENT: גוף הבקשה לא תקין או מכיל ערכי שדות לא תקינים.