باستخدام حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط 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; }