دليل ومثالان على 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 هوية الخريطة ونوع العرض الأساسي لها.

إنشاء 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) أو أنّ واجهة برمجة التطبيقات غير مفعَّلة في المشروع.
  • NOT_FOUND: المرجع المحدّد (المشروع أو MapConfig أو StyleConfig) غير متوفّر.
  • INVALID_ARGUMENT: نص الطلب تمت صياغته بشكل غير صحيح أو يحتوي على قيم حقول غير صالحة.