באמצעות Maps SDK for iOS, אתם יכולים להתאים אישית את האופן שבו המשתמשים מקיימים אינטראקציה עם המפה שלכם. אתם יכולים לקבוע אילו מרכיבים מובנים של ממשק המשתמש יופיעו במפה ואילו תנועות מותרות.
אמצעי בקרה במפה
Maps SDK for 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; }