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