מפות Google מיוצגות ב-API באמצעות המחלקה GMSMapView
,
המחלקה המשנית של UIView
. המפה היא האובייקט המשמעותי ביותר
SDK של מפות ל-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
. מידע נוסף זמין במאמר הבא:
Codelab הוספת מפה לאפליקציה ל-iOS באמצעות
SwiftUI.
הוספת מפה
השלבים הבסיסיים להוספת מפה הם:
כדי לקבל את ה-SDK, צריך לקבל מפתח API ולהוסיף את ה-frameworks הנדרשות, פועלים לפי ההוראות את השלבים ב:
ב-
AppDelegate
, יש לספק את מפתח ה-API ל-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
לאובייקט.
המאמרים הבאים
אחרי שמשלימים את השלבים האלה, אפשר להגדיר את המפה הגדרות.