افزودن نقشه

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

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

مقدمه

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

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

کلاس کلیدی هنگام کار با شیء «نقشه» کلاس 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

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

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

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

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

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

آبجکتیو-سی

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

قدم بعدی چیست

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