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

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

پلتفرم را انتخاب کنید: 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 راه اندازی کنید

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

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

    1. یک شی GMSCameraPosition ایجاد کنید که مرکز و سطح بزرگنمایی نقشه را مشخص می کند. هنگامی که شی GMSMapView را نمونه سازی می کنید، باید شی GMSCameraPosition را به عنوان یک پارامتر مورد نیاز ارسال کنید.

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

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

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

سریع

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()
    let camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    let mapView = GMSMapView(frame: .zero, camera: camera)
    self.view = mapView
  }
}
      

هدف-C

#import "MapObjects.h"
@import GoogleMaps;

@implementation MapObjects

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  self.view = mapView;
}

@end
      

هنگامی که این مراحل را دنبال کردید، می توانید شی GMSMapView را بیشتر پیکربندی کنید.

بعدش چی

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