افزودن نقشه

پلاتفرم را انتخاب کنید: Android iOS JavaScript

نقشه‌ها در میانای برنامه‌سازی کاربردی با کلاس GMSMapView، زیرکلاس UIView، نمایش داده می‌شوند. نقشه مهم‌ترین شیء در کیت توسعه نرم‌افزار Google Maps برای iOS است و روش‌های لازم را برای افزودن، برداشتن، و مدیریت اشیاء دیگر مثل نشانگرها و چندخطی‌ها ارائه می‌دهد.

مقدمه

کیت توسعه نرم‌افزار Google Maps برای iOS به شما امکان می‌دهد Google Map را در برنامه iOS خود نمایش دهید. این نقشه‌ها همان ظاهری را دارند که در برنامه iOS Google Maps می‌بینید و کیت توسعه نرم‌افزار بسیاری از همان ویژگی‌ها را ارائه می‌دهد.

علاوه‌بر عملکرد نقشه‌برداری، این میانای برنامه‌سازی کاربردی از طیفی از تعاملات که با مدل واسط کاربر iOS سازگار است نیز پشتیبانی می‌کند. برای مثال، می‌توانید با تعریف کردن پاسخ‌دهنده‌هایی که به اشاره‌های کاربر (مثل تک‌ضرب و دو تک‌ضرب) واکنش نشان می‌دهند، تعامل با نقشه را راه‌اندازی کنید.

کلاس کلیدی هنگام کار با شیء Map، کلاس GMSMapView است. ‫GMSMapView عملیات زیر را به‌طور خودکار مدیریت می‌کند:

  • درحال اتصال به سرویس Google Maps.
  • درحال بارگیری کاشی‌های نقشه.
  • درحال نمایش کاشی‌ها در صفحه دستگاه.
  • نمایش کنترل‌های مختلف مانند حرکت و بزرگ‌نمایی.
  • پاسخ دادن به اشاره‌های حرکت عرضی و بزرگ‌نمایی با حرکت دادن نقشه و بزرگ‌نمایی یا کوچک‌نمایی.
    • با کج کردن زاویه دید نقشه، به اشاره‌های دو انگشتی پاسخ می‌دهد.

علاوه‌بر این عملیات خودکار، می‌توانید رفتار و ظاهر نقشه را ازطریق ویژگی‌ها و روش‌های ارائه‌شده توسط کلاس GMSMapView کنترل کنید. از GMSMapView برای افزودن و برداشتن نشانگرها، رونهادهای زمینی، و چندخطی‌ها، تغییر نوع نقشه نمایش‌داده‌شده، و کنترل آنچه در نقشه نشان داده می‌شود ازطریق کلاس GMSCameraPosition استفاده کنید.

ساختن Maps با SwiftUI

SwiftUI روش دیگری برای ایجاد واسط کاربر بااستفاده از رویکرد اعلانی ارائه می‌دهد. شما به SwiftUI می‌گویید که می‌خواهید نمای شما چگونه به‌نظر برسد و همه حالت‌های مختلف آن را مشخص می‌کنید، و سیستم بقیه کارها را انجام می‌دهد. SwiftUI هر زمان که وضعیت اصلی به‌دلیل رویداد یا کنش کاربر تغییر کند، به‌روزرسانی نما را مدیریت می‌کند.

کیت توسعه نرم‌افزار Google Maps برای iOS بر روی UIKit ساخته شده است و نمای سازگار با SwiftUI ارائه نمی‌دهد. افزودن نقشه‌ها در SwiftUI مستلزم مطابقت با UIViewRepresentable یا UIViewControllerRepresentable است. برای کسب اطلاعات بیشتر، Codelab افزودن نقشه به برنامه iOS با SwiftUI را ببینید.

افزودن نقشه

مراحل اصلی افزودن نقشه عبارتند از:

  1. برای دریافت کیت توسعه نرم‌افزار، دریافت کلید میانای برنامه‌سازی کاربردی، و افزودن چارچوب‌های لازم، مراحل زیر را دنبال کنید:

    1. راه‌اندازی در کنسول Google Cloud

    2. استفاده از کلید میانای برنامه‌سازی کاربردی

    3. راه‌اندازی Xcode Project

    4. در AppDelegate، کلید میانای برنامه‌سازی کاربردی خود را به روش کلاس provideAPIKey: در GMSServices ارائه دهید.

    5. ViewController ایجاد یا به‌روزرسانی کنید. اگر نقشه هنگام نمایان شدن این کنترل‌کننده نما نمایش داده می‌شود، حتماً آن را در روش viewDidLoad ایجاد کنید.

    6. هنگام مقداردهی اولیه نمای نقشه، گزینه‌های پیکربندی را با GMSMapViewOptions تنظیم کنید. ویژگی‌ها شامل frame، camera، mapID، backgroundColor، یا screen است.

    7. خصوصیت گزینه‌های نقشه camera را با شیء GMSCameraPosition تنظیم کنید. این گزینه مرکز و سطح بزرگ‌نمایی نقشه را مشخص می‌کند.

    8. بااستفاده از روش GMSMapView options:، کلاس GMSMapView را ایجاد و نمونه‌سازی کنید. اگر قرار است از این نقشه به‌عنوان تنها نمای کنترل‌کننده نما استفاده شود، می‌توان از مقدار پیش‌فرض CGRectZero برای گزینه نقشه frame به‌عنوان نمای 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
  }
}

آبجکتیو-سی

- (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 را بیشتر پیکربندی کنید.

قدم بعدی چیست

پس‌از تکمیل این مراحل، می‌توانید تنظیمات نقشه را پیکربندی کنید.