يتم تمثيل الخرائط في واجهة برمجة التطبيقات من خلال فئة GMSMapView
، وهي فئة فرعية من UIView
. الخريطة هي أهم كائن في
حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لأجهزة iOS، وتوفّر الطرق اللازمة لإضافة عناصر أخرى مثل العلامات والخطوط المتعددة وإزالتها.
المقدمة
تتيح لك حزمة SDK للخرائط لنظام التشغيل iOS عرض خريطة Google في تطبيق iOS. هذه الخرائط لها نفس شكل الخرائط التي تراها في تطبيق خرائط Google لنظام التشغيل iOS، كما تعرض حزمة SDK العديد من الميزات نفسها.
بالإضافة إلى وظيفة تصميم الخرائط، تتيح واجهة برمجة التطبيقات أيضًا مجموعة من التفاعلات التي تتوافق مع نموذج واجهة مستخدم iOS. على سبيل المثال، يمكنك إعداد التفاعلات مع خريطة عن طريق تحديد المجيبين الذين يتفاعلون مع إيماءات المستخدم، مثل النقر والنقر المزدوج.
الفئة الرئيسية عند التعامل مع عنصر في الخريطة هي فئة GMSMapView
.
يعالج GMSMapView
العمليات التالية تلقائيًا:
- جارٍ الاتصال بخدمة خرائط Google.
- جارٍ تنزيل مربعات الخرائط.
- يتم عرض المربعات على شاشة الجهاز.
- عرض عناصر تحكم متنوعة مثل العرض الشامل والتكبير/التصغير.
- الاستجابة لإيماءات العرض الشامل والتكبير/التصغير من خلال تحريك الخريطة وتكبيرها أو تصغيرها.
- الاستجابة لإيماءات إصبعين عن طريق إمالة زاوية عرض الخريطة.
بالإضافة إلى هذه العمليات التلقائية، يمكنك التحكم في سلوك وظهور الخريطة من خلال الخصائص والأساليب المعروضة من خلال فئة GMSMapView
. تتيح لك GMSMapView
إضافة العلامات وإزالتها، وتراكبات الأرض والخطوط المتعددة، وتغيير نوع الخريطة التي يتم عرضها، والتحكم في ما يتم عرضه على الخريطة من خلال فئة GMSCameraPosition
.
إنشاء خرائط باستخدام SwiftUI
توفّر SwiftUI طريقة إضافية لإنشاء واجهة مستخدم باستخدام طريقة تعريفية. يمكنك إخبار SwiftUI بالطريقة التي تريد استخدامها في طريقة عرضك مع كل الحالات المختلفة لها، وسيتكفل النظام بالباقي. يتعامل SwiftUI مع تحديث العرض عندما تتغير الحالة الأساسية بسبب حدث أو إجراء مستخدم.
وقد تم تصميم حزمة تطوير البرامج (SDK) للخرائط لنظام التشغيل iOS في مقدمة UIKit
ولا توفر بعد طريقة عرض متوافقة مع SwiftUI. تتطلب إضافة الخرائط في SwiftUI التوافق إما مع UIViewRepresentable
أو UIViewControllerRepresentable
. لمزيد من المعلومات، راجع الدرس التطبيقي حول الترميز إضافة خريطة إلى تطبيق iOS باستخدام SwiftUI.
إضافة خريطة
الخطوات الأساسية لإضافة خريطة هي:
للحصول على حزمة SDK والحصول على مفتاح واجهة برمجة تطبيقات وإضافة أُطر العمل المطلوبة، اتبع الخطوات التالية:
في
AppDelegate
، قدِّم مفتاح واجهة برمجة التطبيقات إلى طريقة الفئةprovideAPIKey:
فيGMSServices
.إنشاء
ViewController
أو تحديثه. إذا سيتم عرض الخريطة عندما تصبح وحدة تحكم طريقة العرض هذه مرئية، فتأكد من إنشائها ضمن طريقةloadView
.يمكنك إنشاء كائن
GMSCameraPosition
يحدد مركز الخريطة وتكبيرها/تصغيرها. عند إنشاء مثيل للكائنGMSMapView
، يجب تمرير الكائنGMSCameraPosition
كمعلمة مطلوبة.إنشاء فئة
GMSMapView
وإنشاء مثيل لها باستخدام طريقةGMSMapView
mapWithFrame:
. إذا كانت هذه الخريطة تُستخدم للعرض الوحيد لوحدة التحكم في العرض، يمكن استخدامCGRectZero
كإطار للخريطة - سيتم تغيير حجم الخريطة تلقائيًا.يمكنك ضبط الكائن
GMSMapView
كعرض وحدة التحكُّم في العرض، مثلself.view = mapView;
.
يضيف المثال التالي خريطة تتمركز في وسط مدينة سنغافورة إلى تطبيق.
Swift
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 } }
Objective-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
.
الخطوات التالية
بعد إكمال هذه الخطوات، يمكنك تهيئة إعدادات الخريطة.