פקדים ותנועות

בחירת פלטפורמה: Android iOS JavaScript

באמצעות ה-SDK של מפות ל-iOS, אתם יכולים להתאים אישית את האופן שבו המשתמשים יוכלו לבצע פעולות במפה, על ידי קביעה אילו מרכיבי ממשק המשתמש המובנים יופיעו במפה ואילו תנועות מותרות.

כלים לעריכת המפה

‫SDK של מפות ל-iOS כולל כמה רכיבים אינטראקטיביים מובנים שדומים לאלה שבאפליקציית מפות Google ל-iOS. אפשר להחליף את מצב החשיפה של אמצעי הבקרה האלה באמצעות המחלקה GMSUISettings. שינויים שבוצעו במחלקה הזו משתקפים מיד במפה.

מצפן

ב-SDK של מפות ל-iOS יש גרפיקה של מצפן שמופיעה בפינה הימנית העליונה של המפה בנסיבות מסוימות. המצפן יופיע רק כשהמצלמה מכוונת כך שהכיוון שלה הוא לא אפס. כשהמשתמש לוחץ על המצפן, המצלמה חוזרת למצב שבו הכיוון הוא אפס (כיוון ברירת המחדל) והמצפן נעלם זמן קצר לאחר מכן.

המצפן מושבת כברירת מחדל. כדי להפעיל את המצפן, מגדירים את המאפיין compassButton של GMSUISettings לערך YES. עם זאת, אי אפשר לאלץ את המצפן להופיע תמיד.

Swift

let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12)
let options = GMSMapViewOptions()
options.camera = camera
let mapView = GMSMapView(options: options)
mapView.settings.compassButton = true
      

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815
                                                        longitude:-122.50764
                                                             zoom:12];
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = camera;
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
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 options = GMSMapViewOptions()
  options.camera = camera
  let mapView = GMSMapView(options: options)
  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];
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = camera;
  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  mapView.settings.scrollGestures = NO;
  mapView.settings.zoomGestures = NO;
  self.view = mapView;
}