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