باستخدام SDK للخرائط في نظام التشغيل iOS، يمكنك تخصيص الطريقة التي يتفاعل بها المستخدمون مع خريطتك، من خلال تحديد مكونات واجهة المستخدم المضمّنة التي تظهر على الخريطة والإيماءات المسموح بها.
عناصر التحكم في الخريطة
توفر حزمة تطوير البرامج (SDK) للخرائط في نظام التشغيل iOS بعض عناصر التحكم المدمجة في واجهة المستخدم، والتي تشبه عناصر التحكم الموجودة في تطبيق خرائط Google لنظام التشغيل iOS. يمكنك تبديل مستوى الرؤية لعناصر التحكم هذه باستخدام الفئة GMSUISettings
.
تظهر التغييرات التي يتم إجراؤها على هذا الصف فورًا على الخريطة.
بوصلة
توفر حزمة SDK للخرائط لنظام التشغيل 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; }