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

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

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

مخطّط بياني يوضّح نموذج الكاميرا الثلاثية الأبعاد

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

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

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

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

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

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

العنوان

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

الإمالة

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

النطاق

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

الدوران

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

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

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

Swift


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

عناصر التحكّم في واجهة المستخدم

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

  • يعرض عنصر التحكّم في التكبير/التصغير الزرَّين "+" و "-" لتغيير مستوى التكبير/التصغير في الخريطة.
  • يعرض عنصر التحكّم في النقل الأزرار "←" و"→" و"↑" و "↓" لتغيير مركز الخريطة.
  • تعرض عناصر التحكّم في التدوير الرمزَين "↺" و"↻" لتغيير اتجاه الكاميرا.
  • يعرض عنصر التحكّم في الإمالة الرمزين "^" و"⌄" لتغيير إمالة الكاميرا.
  • يشير عنصر التحكّم في البوصلة إلى اتجاه الشمال في البوصلة، ويسمح بإعادة ضبط الكاميرا على اتجاه الشمال.

توضّح عيّنة التعليمات البرمجية التالية كيفية تغيير مستوى ظهور عناصر التحكّم في واجهة المستخدم:

swift struct ContentView: View { @State private var showControls = true</p> <p>var body: some View { Map(mode: .hybrid) .mapControls(at: .trailing) { if showControls { CompassControl() ZoomControl() TiltControl() } } } } ```