نقشه ها در 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 نمایش داده می شود، حتماً آن را در روشloadView
ایجاد کنید.یک شی
GMSCameraPosition
ایجاد کنید که مرکز و سطح بزرگنمایی نقشه را مشخص می کند. هنگامی که شیGMSMapView
نمونه سازی می کنید، باید شیGMSCameraPosition
را به عنوان یک پارامتر مورد نیاز ارسال کنید.با استفاده از متد
GMSMapView
mapWithFrame:
یک کلاسGMSMapView
ایجاد و نمونه سازی کنید. اگر قرار است از این نقشه بهعنوان تنها نمای کنترلکننده ویو استفاده شود، میتوان ازCGRectZero
به عنوان قاب نقشه استفاده کرد - اندازه نقشه بهطور خودکار تغییر میکند.شی
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
را بیشتر پیکربندی کنید.
بعدش چی
پس از تکمیل این مراحل، میتوانید تنظیمات نقشه را پیکربندی کنید .