یک نقشه اضافه کنید

پلتفرم مورد نظر را انتخاب کنید: اندروید، iOS، جاوا اسکریپت

نقشه‌ها در API توسط کلاس GMSMapView ، یک زیرکلاس از UIView ، نمایش داده می‌شوند. نقشه مهم‌ترین شیء در Maps SDK برای iOS است و متدهای لازم برای اضافه کردن، حذف کردن و مدیریت اشیاء دیگر مانند نشانگرها و چندخطی‌ها را فراهم می‌کند.

مقدمه

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

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

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

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

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

ساخت نقشه با SwiftUI

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

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

اضافه کردن نقشه

مراحل اساسی برای اضافه کردن نقشه عبارتند از:

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

    1. در کنسول Google Cloud تنظیم کنید

    2. استفاده از کلید API

    3. راه‌اندازی یک پروژه Xcode

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

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

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

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

    8. یک کلاس GMSMapView با استفاده از متد GMSMapView options: ایجاد و نمونه‌سازی کنید. اگر قرار است این نقشه به عنوان تنها نمای کنترلر نما استفاده شود، می‌توان از مقدار پیش‌فرض CGRectZero frame گزینه نقشه به عنوان frame نما استفاده کرد - نقشه به طور خودکار تغییر اندازه می‌دهد.

    9. شیء GMSMapView را به عنوان نمای کنترلر نما تنظیم کنید. برای مثال، self.view = mapView; .

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

سویفت

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

قدم بعدی چیست؟

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