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