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

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

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

مقدمه

Maps SDK برای iOS به شما امکان می دهد نقشه گوگل را در برنامه iOS خود نمایش دهید. این نقشه‌ها ظاهری مشابه نقشه‌هایی دارند که در برنامه Google Maps iOS مشاهده می‌کنید، و SDK بسیاری از ویژگی‌های مشابه را به نمایش می‌گذارد.

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

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

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

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

با SwiftUI نقشه بسازید

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

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

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

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

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

    1. در Google Cloud Console راه اندازی کنید

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

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

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

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

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

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

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

    9. شی GMSMapView را به عنوان نمای کنترل کننده view تنظیم کنید. برای مثال 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
  }
}

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

بعدش چی

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