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