הוספת מפה

בחירת פלטפורמה: 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.

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

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