המפות מיוצגות ב-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.
הוספת מפה
השלבים הבסיסיים להוספת מפה הם:
כדי לקבל את ה-SDK, להשיג מפתח API ולהוסיף את המסגרות הנדרשות, פועלים לפי השלבים שמפורטים במאמר:
ב-
AppDelegate
, מספקים את מפתח ה-API לשיטת המחלקהprovideAPIKey:
ב-GMSServices
.יוצרים או מעדכנים
ViewController
. אם המפה מוצגת כשבקר התצוגה הזה הופך לגלוי, חשוב ליצור אותה בשיטהviewDidLoad
.כשמפעילים את תצוגת המפה, מגדירים את אפשרויות ההגדרה באמצעות
GMSMapViewOptions
. המאפיינים כוללים אתframe
, camera
,mapID
,backgroundColor
אוscreen
.מגדירים את אפשרויות המפה בנכס
camera
באמצעות אובייקטGMSCameraPosition
. כאן מציינים את המרכז ואת רמת הזום של המפה.יוצרים מופע של מחלקת
GMSMapView
באמצעות ה-methodGMSMapView
options:
. אם המפה הזו תשמש כתצוגה היחידה של בקר התצוגה, אפשר להשתמש בערך ברירת המחדל של אפשרות המפהframe
, שהואCGRectZero
, כתצוגהframe
– גודל המפה ישתנה אוטומטית.מגדירים את האובייקט
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
.
המאמרים הבאים
אחרי שמסיימים את השלבים האלה, אפשר להגדיר את הגדרות המפה.