הוספת מפה

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

המפות מיוצגות ב-API על ידי המחלקה GMSMapView, שהיא מחלקת משנה של UIView. המפה היא האובייקט הכי חשוב ב-SDK של מפות ל-iOS, והיא מספקת את השיטות הדרושות להוספה, להסרה ולניהול של אובייקטים אחרים כמו סמנים וקווי פוליגון.

מבוא

‫SDK של מפות ל-iOS מאפשר להציג מפת Google באפליקציית iOS. למפות האלה יש מראה זהה למפות שאתם רואים באפליקציית מפות Google ל-iOS, וחבילת ה-SDK חושפת רבות מאותן תכונות.

בנוסף לפונקציונליות של מיפוי, ממשק ה-API תומך גם במגוון אינטראקציות שתואמות למודל ממשק המשתמש של iOS. לדוגמה, אפשר להגדיר אינטראקציות עם מפה על ידי הגדרת משיבים שמגיבים לתנועות של המשתמשים, כמו הקשה ולחיצה כפולה.

הכיתה העיקרית כשעובדים עם אובייקט מפה היא הכיתה GMSMapView. ‫GMSMapView מטפל בפעולות הבאות באופן אוטומטי:

  • מתבצעת התחברות לשירות מפות Google.
  • הורדה של כרטיסי מידע של מפה.
  • הצגת משבצות במסך המכשיר.
  • הצגת אמצעי בקרה שונים, כמו הזזה ושינוי מרחק התצוגה.
  • תגובה לתנועות של הזזה ושינוי מרחק התצוגה על ידי הזזת המפה והגדלה או הקטנה של התצוגה.
    • תגובה לתנועות בשתי אצבעות על ידי הטיה של זווית הצפייה במפה.

בנוסף לפעולות האוטומטיות האלה, אתם יכולים לשלוט בהתנהגות ובמראה של המפה באמצעות המאפיינים והשיטות שמוצגים על ידי המחלקה GMSMapView. אפשר להשתמש ב-GMSMapView כדי להוסיף סמנים, שכבות-על של קרקע וקווי פוליגון, לשנות את סוג המפה שמוצגת ולשלוט במה שמוצג במפה באמצעות המחלקה GMSCameraPosition.

יצירת מפות באמצעות SwiftUI

‫SwiftUI מציעה דרך נוספת ליצור ממשק משתמש באמצעות גישה הצהרתית. אתם אומרים ל-SwiftUI איך אתם רוצים שהתצוגה תיראה, כולל כל המצבים השונים שלה, והמערכת עושה את השאר. ‫SwiftUI מטפל בעדכון התצוגה בכל פעם שהמצב הבסיסי משתנה בגלל אירוע או פעולת משתמש.

‫SDK של מפות ל-iOS מבוסס על UIKit ולא מספק תצוגה שתואמת ל-SwiftUI. כדי להוסיף מפות ב-SwiftUI, צריך להשתמש ב-UIViewRepresentable או ב-UIViewControllerRepresentable. מידע נוסף זמין ב-Codelab הוספת מפה לאפליקציה ל-iOS באמצעות SwiftUI.

הוספת מפה

השלבים הבסיסיים להוספת מפה הם:

  1. כדי לקבל את ה-SDK, להשיג מפתח API ולהוסיף את המסגרות הנדרשות, פועלים לפי השלבים שמפורטים במאמר:

    1. הגדרה במסוף Google Cloud

    2. שימוש במפתח API

    3. הגדרת פרויקט Xcode

    4. ב-AppDelegate, מספקים את מפתח ה-API לשיטת המחלקה provideAPIKey: ב-GMSServices.

    5. יצירה או עדכון של ViewController. אם המפה מוצגת כשבקר התצוגה הזה הופך לגלוי, חשוב ליצור אותה בתוך השיטה viewDidLoad.

    6. כשמפעילים את תצוגת המפה, מגדירים את אפשרויות ההגדרה באמצעות GMSMapViewOptions. המאפיינים כוללים את frame, ‏ camera,‏ mapID,‏ backgroundColor או screen.

    7. מגדירים את אפשרויות המפה בנכס camera באמצעות אובייקט GMSCameraPosition. המאפיין הזה מציין את המרכז ואת רמת הזום של המפה.

    8. יוצרים מופע של מחלקת GMSMapView באמצעות ה-method‏ GMSMapView options:. אם המפה הזו תשמש כתצוגה היחידה של בקר התצוגה, אפשר להשתמש באפשרות המפה frame כברירת מחדל של CGRectZero כתצוגה frame – גודל המפה ישתנה אוטומטית.

    9. מגדירים את האובייקט GMSMapView כתצוגה של בקר התצוגה. לדוגמה, self.view = mapView;.

בדוגמה הבאה מוצג קוד להוספת מפה לאפליקציה, כשהמפה ממוקדת במרכז העיר סינגפור.

Swift

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    let options = GMSMapViewOptions()
    options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    options.frame = self.view.bounds;

    let mapView = GMSMapView(options:options)
    self.view = mapView
  }
}

Objective-C

- (void)viewDidLoad {
  [super viewDidLoad];

  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                        longitude:103.848
                                                             zoom:12];
  options.frame = self.view.bounds;

  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  self.view = mapView;
}

אחרי שמבצעים את השלבים האלה, אפשר להגדיר עוד את האובייקט GMSMapView.

המאמרים הבאים

אחרי שמסיימים את השלבים האלה, אפשר לקבוע את הגדרות המפה.