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