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