عناصر التحكّم والإيماءات

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

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

عناصر التحكّم في الخريطة

توفر حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل iOS بعض عناصر التحكم المُدمجة في واجهة المستخدم والتي تشبه تلك الموجودة في تطبيق خرائط Google لنظام التشغيل iOS. يمكنك التبديل بين مستوى ظهور عناصر التحكّم هذه باستخدام الفئة GMSUISettings. تظهر التغييرات التي يتم إجراؤها في هذا الصف على الخريطة فورًا.

بوصلة

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

يتم إيقاف البوصلة بشكل تلقائي. يمكنك تفعيل البوصلة من خلال ضبط السمة compassButton في GMSUISettings على YES. ومع ذلك، لا يمكنك فرض إظهار البوصلة دائمًا.

Swift

let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12)
let mapView = GMSMapView(frame: .zero, camera: camera)
mapView.settings.compassButton = true
      

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815
                                                        longitude:-122.50764
                                                             zoom:12];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView.settings.compassButton = YES;
      

زر "موقعي الجغرافي"

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

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

آلة اختيار الأرضية

يظهر عنصر تحكم منتقي الطابق بالقرب من أسفل يمين الشاشة كلما تم عرض الخريطة الداخلية بشكل بارز. عند ظهور خريطتين داخليتين أو أكثر، يرتبط منتقي الطابق بالمبنى الأقرب إلى وسط الشاشة. يحتوي كل مبنى على طابق تلقائي يتم تحديده عند عرض المنتقي لأول مرة. يمكنك اختيار طابق مختلف عن طريق تحديده من أداة الاختيار.

يمكنك إيقاف عنصر التحكّم في منتقي الطوابق عن طريق ضبط السمة indoorPicker في GMSUISettings على NO.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

إيماءات الخريطة

يمكنك إيقاف الإيماءات التلقائية على الخريطة من خلال ضبط سمات فئة GMSUISettings المتاحة كسمة لفئة GMSMapView. يمكن تفعيل الإيماءات التالية وإيقافها آليًا. يُرجى العلم أنّ إيقاف الإيماءة لن يحدّ من الوصول الآلي إلى إعدادات الكاميرا.

  • scrollGestures: للتحكّم في تفعيل إيماءات التمرير أو إيقافها إذا كان هذا الخيار مفعَّلاً، يمكن للمستخدمين التمرير سريعًا لتحريك الكاميرا.
  • zoomGestures: للتحكم في ما إذا كانت إيماءات التكبير أو التصغير مفعّلة أو غير مفعَّلة في حال تفعيل هذا الإعداد، يمكن للمستخدمين النقر مرّتين أو النقر بإصبعين أو التصغير بإصبعين لتكبير الكاميرا أو تصغيرها. تجدر الإشارة إلى أنّ النقر مرّتين أو التصغير بإصبعَين عند تفعيل scrollGestures قد يؤدي إلى تحريك الكاميرا إلى النقطة المحددة.
  • tiltGestures: للتحكّم في تفعيل إيماءات الإمالة أو إيقافها في حال تفعيل هذا الإعداد، يمكن للمستخدمين التمرير سريعًا للأعلى أو للأسفل بإصبعَين لإمالة الكاميرا.
  • rotateGestures: للتحكّم في تفعيل إيماءات التدوير أو إيقافها في حال تفعيل هذا الإعداد، يمكن للمستخدمين استخدام إيماءة التدوير بإصبعين لتدوير الكاميرا.

في المثال أدناه، تم إيقاف كل من إيماءات التحريك والتكبير/التصغير.

Swift

override func loadView() {
  let camera = GMSCameraPosition.camera(
    withLatitude: 1.285,
    longitude: 103.848,
    zoom: 12
  )

  let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
  mapView.settings.scrollGestures = false
  mapView.settings.zoomGestures = false
  self.view = mapView
}
      

Objective-C

- (void)loadView {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.settings.scrollGestures = NO;
  mapView.settings.zoomGestures = NO;
  self.view = mapView;
}