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