הוספת מפה

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

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

מבוא

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

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

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

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

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

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

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

ה-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:. אם המפה הזו תשמש בתור התצוגה היחידה של ה-View Controller, אפשר להשתמש בערך ברירת המחדל CGRectZero של האפשרות frame של המפה בתור התצוגה 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.

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

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