باستخدام حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط 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 options = GMSMapViewOptions() options.camera = camera let mapView = GMSMapView(options: options) mapView.settings.compassButton = true
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815 longitude:-122.50764 zoom:12]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = camera; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; 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 options = GMSMapViewOptions() options.camera = camera let mapView = GMSMapView(options: options) 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]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = camera; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; mapView.settings.scrollGestures = NO; mapView.settings.zoomGestures = NO; self.view = mapView; }