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