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

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

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