הוספת מפה

בחירת פלטפורמה: Android iOS JavaScript

מפות 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.

הוספת מפה

השלבים הבסיסיים להוספת מפה הם:

  1. כדי לקבל את ה-SDK, צריך לקבל מפתח API ולהוסיף את ה-frameworks הנדרשות, פועלים לפי ההוראות את השלבים ב:

    1. הגדרה במסוף Google Cloud

    2. שימוש במפתח API

    3. הגדרה של פרויקט Xcode

    4. ב-AppDelegate, יש לספק את מפתח ה-API ל-provideAPIKey: שיטת הכיתה ב-GMSServices.

    5. יצירה או עדכון של ViewController. אם המפה מוצגת כאשר בקר התצוגה יהפוך לגלוי, הקפידו ליצור אותו אמצעי תשלום אחד (viewDidLoad).

    6. באתחול תצוגת המפה, צריך להגדיר אפשרויות תצורה עם GMSMapViewOptions המאפיינים כוללים את frame, camera, mapID,backgroundColor או screen.

    7. צריך להגדיר את נכס אפשרויות המפה camera עם אובייקט GMSCameraPosition. מציין את רמת המרכז והזום של את המפה.

    8. יצירה ויצירה של מחלקה GMSMapView באמצעות GMSMapView options:. אם המפה הזו תשמש לבקרת תצוגות הנתונים תצוגה בלבד, אפשרות המפה frame ערך ברירת המחדל CGRectZero יכול להיות משמש כתצוגה frame — גודל המפה משתנה באופן אוטומטי.

    9. מגדירים את האובייקט 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 לאובייקט.

המאמרים הבאים

אחרי שמשלימים את השלבים האלה, אפשר להגדיר את המפה הגדרות.