הוספת מפה

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

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

מבוא

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

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

מחלקת המפתח בעבודה עם אובייקט מפה היא המחלקה GMSMapView. GMSMapView מטפל בפעולות הבאות באופן אוטומטי:

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

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

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

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

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

הוספת מפה

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

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

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

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

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

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

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

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

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

    8. יוצרים מחלקה GMSMapView ויוצרים מחלקה באמצעות השיטה GMSMapView options:. אם המפה הזו משמשת כתצוגה בלבד לבקרת התצוגות, ניתן להשתמש בערך ברירת המחדל CGRectZero של אפשרות המפה frame בתור התצוגה 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 עוד יותר.

מה עושים אחר כך

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