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