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