הוספת מפה

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

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

מבוא

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

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

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

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

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

פיתוח מפות Google באמצעות SwiftUI

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

‏Maps SDK ל-iOS מבוסס על UIKit ולא מספק תצוגה שתואמת ל-SwiftUI. כדי להוסיף מפות ב-SwiftUI, צריך לעמוד בדרישות של UIViewRepresentable או של UIViewControllerRepresentable. למידע נוסף, אפשר לעיין בקודלאב הוספת מפה לאפליקציית 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 וליצור מופע שלה באמצעות השיטה 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.

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

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