הוספת מפה

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

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

מבוא

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

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

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

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

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

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

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

‫Maps SDK ל-iOS מבוסס על UIKit ולא מספק תצוגה שתואמת ל-SwiftUI. כדי להוסיף מפות ב-SwiftUI, צריך להשתמש ב-UIViewRepresentable או ב-UIViewControllerRepresentable. מידע נוסף זמין ב-Codelab adding a map to your iOS app with 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.

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

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