نقشهها در میانای برنامهسازی کاربردی با کلاس GMSMapView، زیرکلاس UIView، نمایش داده میشوند. نقشه مهمترین شیء در
کیت توسعه نرمافزار Google Maps برای iOS است و روشهای لازم را برای افزودن، برداشتن،
و مدیریت اشیاء دیگر مثل نشانگرها و چندخطیها ارائه میدهد.
مقدمه
کیت توسعه نرمافزار Google Maps برای iOS به شما امکان میدهد Google Map را در برنامه iOS خود نمایش دهید. این نقشهها همان ظاهری را دارند که در برنامه iOS Google Maps میبینید و کیت توسعه نرمافزار بسیاری از همان ویژگیها را ارائه میدهد.
علاوهبر عملکرد نقشهبرداری، این میانای برنامهسازی کاربردی از طیفی از تعاملات که با مدل واسط کاربر iOS سازگار است نیز پشتیبانی میکند. برای مثال، میتوانید با تعریف کردن پاسخدهندههایی که به اشارههای کاربر (مثل تکضرب و دو تکضرب) واکنش نشان میدهند، تعامل با نقشه را راهاندازی کنید.
کلاس کلیدی هنگام کار با شیء Map، کلاس GMSMapView است.
GMSMapView عملیات زیر را بهطور خودکار مدیریت میکند:
- درحال اتصال به سرویس Google Maps.
- درحال بارگیری کاشیهای نقشه.
- درحال نمایش کاشیها در صفحه دستگاه.
- نمایش کنترلهای مختلف مانند حرکت و بزرگنمایی.
- پاسخ دادن به اشارههای حرکت عرضی و بزرگنمایی با حرکت دادن نقشه و بزرگنمایی یا کوچکنمایی.
- با کج کردن زاویه دید نقشه، به اشارههای دو انگشتی پاسخ میدهد.
علاوهبر این عملیات خودکار، میتوانید رفتار و ظاهر نقشه را ازطریق ویژگیها و روشهای ارائهشده توسط کلاس GMSMapView کنترل کنید. از GMSMapView برای افزودن و برداشتن نشانگرها، رونهادهای زمینی، و چندخطیها، تغییر نوع نقشه نمایشدادهشده، و کنترل آنچه در نقشه نشان داده میشود ازطریق کلاس GMSCameraPosition استفاده کنید.
ساختن Maps با SwiftUI
SwiftUI روش دیگری برای ایجاد واسط کاربر بااستفاده از رویکرد اعلانی ارائه میدهد. شما به SwiftUI میگویید که میخواهید نمای شما چگونه بهنظر برسد و همه حالتهای مختلف آن را مشخص میکنید، و سیستم بقیه کارها را انجام میدهد. SwiftUI هر زمان که وضعیت اصلی بهدلیل رویداد یا کنش کاربر تغییر کند، بهروزرسانی نما را مدیریت میکند.
کیت توسعه نرمافزار Google Maps برای iOS بر روی UIKit ساخته شده است و نمای سازگار با SwiftUI ارائه نمیدهد. افزودن نقشهها در SwiftUI مستلزم مطابقت با
UIViewRepresentable یا UIViewControllerRepresentable است. برای کسب اطلاعات بیشتر،
Codelab افزودن نقشه به برنامه iOS با
SwiftUI را ببینید.
افزودن نقشه
مراحل اصلی افزودن نقشه عبارتند از:
برای دریافت کیت توسعه نرمافزار، دریافت کلید میانای برنامهسازی کاربردی، و افزودن چارچوبهای لازم، مراحل زیر را دنبال کنید:
در
AppDelegate، کلید میانای برنامهسازی کاربردی خود را به روش کلاسprovideAPIKey:درGMSServicesارائه دهید.ViewControllerایجاد یا بهروزرسانی کنید. اگر نقشه هنگام نمایان شدن این کنترلکننده نما نمایش داده میشود، حتماً آن را در روشviewDidLoadایجاد کنید.هنگام مقداردهی اولیه نمای نقشه، گزینههای پیکربندی را با
GMSMapViewOptionsتنظیم کنید. ویژگیها شاملframe،camera،mapID،backgroundColor، یاscreenاست.خصوصیت گزینههای نقشه
cameraرا با شیءGMSCameraPositionتنظیم کنید. این گزینه مرکز و سطح بزرگنمایی نقشه را مشخص میکند.بااستفاده از روش
GMSMapViewoptions:، کلاسGMSMapViewرا ایجاد و نمونهسازی کنید. اگر قرار است از این نقشه بهعنوان تنها نمای کنترلکننده نما استفاده شود، میتوان از مقدار پیشفرضCGRectZeroبرای گزینه نقشهframeبهعنوان نمای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 را بیشتر پیکربندی کنید.
قدم بعدی چیست
پساز تکمیل این مراحل، میتوانید تنظیمات نقشه را پیکربندی کنید.