הוספת מפה

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

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

מבוא

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

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

המחלקה העיקרית כשעובדים עם אובייקט Map היא המחלקה 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 ל-method של המחלקה 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 בתור התצוגה של ה-view controller. לדוגמה, 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.

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

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