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

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

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

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

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

بوصلة

توفر حزمة تطوير البرامج (SDK) للخرائط لنظام التشغيل 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;
}