באמצעות ה-SDK של מפות Google ל-iOS, אפשר להתאים אישית את האינטראקציה של המשתמשים עם המפה. לשם כך, צריך לקבוע אילו מרכיבי ממשק המשתמש המובנים יופיעו במפה ואילו תנועות מותרות.
פקדי המפה
ה-SDK של מפות Google ל-iOS כולל פקדים מובנים של ממשק המשתמש
שדומים לאלה שמופיעים באפליקציה מפות Google ל-iOS. אפשר
להציג או להסתיר את אמצעי הבקרה האלה באמצעות המחלקה GMSUISettings
.
שינויים שיבוצעו בכיתה הזו יופיעו מיד במפה.
מצפן
ה-SDK של מפות 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; }