ضبط عناصر التحكّم في الكاميرا

اختيار النظام الأساسي: Android‏ iOS‏ JavaScript‏

يمكن للمستخدمين التحكّم في التكبير أو التصغير والإمالة والموضع والتدوير للكاميرا باستخدام الإيماءات على الخريطة. يمكنك أيضًا ضبط إعدادات الكاميرا آليًا.

مخطّط يوضّح تصميم الكاميرا الثلاثية الأبعاد

موضع الكاميرا

يتم تصميم عرض الخريطة على شكل كاميرا تنظر إلى نقطة معيّنة في الفضاء. يتم تحديد موضع الكاميرا واتجاهها من خلال إحداثيات خطوط الطول والعرض والارتفاع والاتجاه والإمالة والنطاق والانحراف.

خط العرض وخط الطول والارتفاع

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

يمكن أن يتراوح خط العرض بين -90 و90 درجة، مع تضمين القيمتين. يتراوح خط الطول بين 180- و180 درجة، ضِمنًا. يتم تحديد الارتفاع بالأمتار فوق مستوى سطح البحر.

سيتم تقريب أي قيم أعلى أو أقل من هذا النطاق إلى أقرب قيمة ضمنه. على سبيل المثال، سيؤدي تحديد خط عرض 100 إلى ضبط القيمة على 90.

العنوان

تحدّد الوجهة اتجاه البوصلة للخريطة، ويتم قياسها بالدرجات في اتجاه عقارب الساعة من الشمال الحقيقي. يتوافق الشمال مع 0 درجة، والشرق مع 90 درجة، والجنوب مع 180 درجة، والغرب مع 270 درجة.

الإمالة

تحدّد زاوية الإمالة زاوية الكاميرا بالنسبة إلى المحور الرأسي، ويتم قياسها بالدرجات. تشير زاوية الميل البالغة 0 درجة إلى أنّ الكاميرا موجّهة إلى الأسفل مباشرةً نحو الأرض (نقطة سمت القدم). يعني الميل بمقدار 90 درجة أنّ الكاميرا موجّهة بشكل أفقي في الاتجاه المحدّد بواسطة العنوان.

النطاق

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

الدوران

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

التحكّم في الكاميرا

يوضّح نموذج الرمز البرمجي التالي كيفية التحكّم في الكاميرا آليًا.

Swift


public static var sanFrancisco: Camera = .init(
  latitude: 37.7845812,
  longitude: -122.3660241,
  altitude: 585,
  heading: 288.0,
  tilt: 75.0,
  roll: 0.0,
  range: 100)