نقشه ها در 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 شما اضافه می کند .
یک نقشه اضافه کنید
مراحل اولیه برای افزودن نقشه عبارتند از:
برای دریافت SDK، یک کلید API و افزودن فریمورک های مورد نیاز، مراحل زیر را دنبال کنید:
در
AppDelegateخود، کلید API خود را به روش classprovideAPIKey:درGMSServicesارائه دهید.یک
ViewControllerایجاد یا به روز کنید. اگر نقشه با نمایان شدن این view controller نمایش داده می شود، حتماً آن را در روشviewDidLoadایجاد کنید.هنگام تنظیم اولیه نمای نقشه، گزینه های پیکربندی را با
GMSMapViewOptionsتنظیم کنید. ویژگی ها شاملframe،camera،mapID،backgroundColorیاscreenاست.ویژگی
cameraگزینه های نقشه خود را با یک شیGMSCameraPositionتنظیم کنید. این مرکز و سطح بزرگنمایی نقشه را مشخص می کند.با استفاده از روش
GMSMapViewoptions:یک کلاسGMSMapViewایجاد و نمونه سازی کنید. اگر قرار است از این نقشه بهعنوان تنها نمای کنترلکننده نمایش استفاده شود، میتوان از مقدار پیشفرضframeگزینه نقشهCGRectZeroبهعنوانframeدید استفاده کرد - اندازه نقشه بهطور خودکار تغییر میکند.شی
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 را بیشتر پیکربندی کنید.
بعدش چی
پس از تکمیل این مراحل، میتوانید تنظیمات نقشه را پیکربندی کنید .