استخدام الرموز المميزة للجلسات مع Map Tiles API

المطوّرون في المنطقة الاقتصادية الأوروبية

الرمز المميّز للجلسة هو جزء من البيانات (UUID) يُستخدَم في طلبات REST لتحديد جلسة، وهي سلسلة من عمليات تبادل الرسائل ذات الصلة. يجب تضمين رمز مميّز للجلسة في جميع الطلبات المتعلقة بـ "المربّعات الثنائية الأبعاد" وصور "التجوّل الافتراضي". ويتم تضمينه كقيمة لمَعلمة session يتم إلحاقها بجميع عناوين URL للطلبات.

في Map Tiles API، يمثّل الرمز المميّز للجلسة مجموعة محدّدة من خيارات العرض. هذا يعني أنّه ليس عليك تمرير مجموعة من خيارات العرض مع كل طلب مربّع. يمكنك استخدام الرمز المميز للجلسة نفسه في عدة برامج. يكون الرمز المميز للجلسة صالحًا حاليًا لمدة أسبوعَين من وقت إصداره، ولكن قد يتغيّر ذلك. يمكنك دائمًا التحقّق من وقت انتهاء صلاحية الرمز المميز للجلسة من خلال الاطّلاع على الحقل expiry في رسالة الردّ.

طلب الرمز المميّز للجلسة

لطلب رمز مميّز للجلسة، أرسِل طلب HTTPS POST إلى نقطة النهاية createSession، كما هو موضّح في المثال التالي. يجب إرسال الطلب مع عنوان Content-Type: application/json.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

حقول مطلوبة

mapType

نوع الخريطة الأساسية. يمكن أن تكون هذه القيمة إحدى القيم التالية:

roadmap
مربّعات الخريطة المرسومة العادية في "خرائط Google"
satellite
صور القمر الصناعي:
terrain
صور التضاريس: عند اختيار terrain كنوع الخريطة، يجب أيضًا تضمين نوع الطبقة layerRoadmap (الموضّح في قسم الحقول الاختيارية).
streetview
صور بانورامية في "التجوّل الافتراضي" لمزيد من المعلومات، اطّلِع على مربّعات في "التجوّل الافتراضي".
language

علامة لغة IETF تحدّد اللغة المستخدَمة لعرض المعلومات على المربّعات. على سبيل المثال، يحدّد الرمز en-US اللغة الإنجليزية كما يتم التحدث بها في الولايات المتحدة.

region

معرّف منطقة مستودع بيانات المواقع الجغرافية الشائعة (حرفان كبيران) يمثّل الموقع الجغرافي للمستخدم. مثلاً: US

حقول اختيارية

imageFormat
يحدّد تنسيق الملف المطلوب عرضه. القيمتان الصالحتان هما jpeg أو png. لا تتوافق ملفات JPEG مع الشفافية، لذا لا يُنصح باستخدامها مع المربّعات المتراكبة. إذا لم تحدّد imageFormat، سيتم تلقائيًا اختيار أفضل تنسيق للمربّع.
scale

تزيد هذه السمة حجم عناصر الخريطة (مثل تصنيفات الطرق)، مع الاحتفاظ بحجم المربّع ومساحة التغطية للمربّع التلقائي. تؤدي زيادة المقياس أيضًا إلى تقليل عدد التصنيفات على الخريطة، ما يقلّل من الازدحام. في ما يلي قيم scale الصالحة:

  • ‫scaleFactor1x: القيمة التلقائية
  • ‫scaleFactor2x: يضاعف حجم التصنيف ويزيل تصنيفات الميزات الثانوية.
  • ‫scaleFactor4x: يضاعف حجم التصنيف أربع مرات ويزيل تصنيفات الميزات الثانوية.

توضّح الأمثلة التالية تأثير تغيير حجم عناصر الخريطة.

عامل القياس 1x عامل القياس 2x
خريطة تعرض عامل القياس 1x خريطة تعرض عامل قياس 2x
highDpi
تحدّد هذه السمة ما إذا كان سيتم عرض مربّعات بدقة عالية. في حال زيادة عامل القياس، يتم استخدام highDpi لزيادة حجم المربّع. في العادة، تؤدي زيادة عامل القياس إلى تكبير المربّع الناتج إلى صورة بالحجم نفسه، ما يؤدي إلى انخفاض الجودة. باستخدام ميزة "highDpi"، يتم أيضًا زيادة حجم الصورة الناتجة، مع الحفاظ على جودتها. يشير مصطلح "نقاط لكل بوصة" إلى عدد النقاط في البوصة الواحدة، ويعني "نقاط لكل بوصة العالي" أنّ المربّع يتم عرضه باستخدام عدد أكبر من النقاط في البوصة الواحدة مقارنةً بالوضع العادي. إذا كانت القيمة true، يتم ضرب عدد وحدات البكسل في كل من البُعدين x وy في عامل القياس (أي 2x أو 4x). تبقى منطقة تغطية المربّع بدون تغيير. لا تعمل هذه المَعلمة إلا مع قيم scale التي تبلغ 2x أو 4x. ولا يؤثّر في المربّعات ذات المقياس 1x.
عامل القياس 1x عامل القياس 2x High DPI
يتم عرض الخريطة بدرجة الدقة العادية خريطة معروضة بدقة عالية تبلغ ضعف عدد النقاط لكل بوصة
layerTypes

مصفوفة من القيم تحدّد أنواع الطبقات المُضافة إلى الخريطة. القيم الصالحة هي:

layerRoadmap
هذه السمة مطلوبة إذا حدّدت terrain كنوع الخريطة. ويمكن أيضًا تراكبها اختياريًا على نوع الخريطة "satellite". ولا يؤثّر في مربّعات خريطة الطريق.
layerStreetview
تعرض الشوارع والمواقع الجغرافية التي تتوفّر فيها ميزة "التجوّل الافتراضي" باستخدام خطوط زرقاء على الخريطة.
layerTraffic
يعرض أحوال حركة المرور الحالية.
styles

مصفوفة من عناصر نمط JSON التي تحدّد مظهر ومستوى تفاصيل عناصر الخريطة، مثل الطرق والمتنزهات والمناطق المبنية. يتم استخدام التصميم لتخصيص الخريطة الأساسية العادية من Google. تكون المَعلمة styles صالحة فقط إذا كان نوع الخريطة هو roadmap. للاطّلاع على بنية النمط الكاملة، يُرجى الرجوع إلى مرجع الأنماط.

overlay

قيمة منطقية تحدّد ما إذا كان يجب عرض layerTypes كطبقة منفصلة أو دمجها مع الصور الأساسية. عندما تكون قيمة السمة true، لا يتم عرض الخريطة الأساسية. إذا لم تحدّد أي layerTypes، سيتم تجاهل هذه القيمة.

على سبيل المثال، يؤدي طلب نوع الخريطة satellite مع طبقة layerRoadmap وضبط overlay على false إلى الحصول على مربّعات مكافئة لنوع الخريطة hybrid المستخدَم في Maps JavaScript API (الصورة اليمنى). يؤدي استخدام أنواع الخرائط والطبقات نفسها مع ضبط overlay على true إلى إنشاء مربّع شفاف مع تراكب الخريطة، ويتم تنسيقه بشكل مناسب لتراكبه على صور القمر الصناعي (الصورة على اليمين).

overlay: false overlay: true
تم ضبط Overlay على false تم ضبط Overlay على "صحيح"

في ما يلي مثال على نص طلب نموذجي يحتوي على حقول مطلوبة واختيارية.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

يقدّم هذا المثال تراكبًا مناسبًا للدمج مع صور الأقمار الصناعية. يحتوي المثال على كل من خريطة طريق وتراكب التجوّل الافتراضي. يتم عرض الخريطة الناتجة مع الأسماء والبيانات باللغة الإنجليزية، وهي اللغة المستخدمة في الولايات المتحدة.

ردّ الرمز المميز للجلسة

في ما يلي مثال على نص الاستجابة بتنسيق JSON.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

تحتوي القائمة التالية على تعريفات للحقول في نص الردّ.

session
قيمة الرمز المميّز للجلسة التي يجب تضمينها في جميع طلبات Map Tiles API
expiry
سلسلة تحتوي على الوقت (بالثواني منذ بدء حساب الفترة) الذي تنتهي فيه صلاحية الرمز المميّز. يكون الرمز المميز للجلسة صالحًا لمدة أسبوعَين من وقت إنشائه، ولكن قد تتغير هذه السياسة بدون إشعار.
tileWidth
عرض المربّعات بالبكسل
tileHeight
ارتفاع المربّعات المقاس بالبكسل
imageFormat
تنسيق الصورة، ويمكن أن يكون png أو jpeg.