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

اختيار النظام الأساسي: 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;
}