הוספת מפה

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

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

מבוא

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

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

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

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

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

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

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

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

הוספת מפה

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

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

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

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

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

    4. ב-AppDelegate, יש לציין את מפתח ה-API ל-method של המחלקה provideAPIKey: ב-GMSServices.

    5. יוצרים או מעדכנים ViewController. אם המפה מוצגת כשבקר התצוגה הזה מופיע, הקפידו ליצור אותו בשיטה viewDidLoad.

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

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

    8. יצירה ויצירה של מחלקה GMSMapView באמצעות השיטה 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.

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

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