يتم تمثيل "خرائط Google" في واجهة برمجة التطبيقات من خلال فئة
GMSMapView
، وهي فئة فرعية من UIView
. وتُعدّ هذه الخريطة أهم عنصر في حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS، وتوفّر الطرق اللازمة لإضافة عناصر أخرى وإدارتها، مثل العلامات وخطوط الخطوط.
المقدمة
تتيح لك حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS عرض خريطة Google في تطبيق iOS. هذه الخرائط لها نفس مظهر الخرائط التي تراها في تطبيق خرائط Google على نظام التشغيل iOS، كما تعرض حزمة SDK الكثير من الميزات نفسها.
بالإضافة إلى وظيفة الربط، توفّر واجهة برمجة التطبيقات أيضًا مجموعة من التفاعلات التي تتوافق مع نموذج واجهة مستخدم iOS. على سبيل المثال، يمكنك إعداد التفاعلات مع خريطة من خلال تحديد المجيبين الذين يتفاعلون مع إيماءات المستخدم، مثل النقر والنقر مرتين.
إنّ فئة المفتاح عند العمل مع عنصر على "الخريطة" هي فئة GMSMapView
.
يعالج GMSMapView
العمليات التالية تلقائيًا:
- جارٍ الاتصال بخدمة "خرائط Google"
- جارٍ تنزيل مربعات الخرائط.
- يتم عرض المربّعات على شاشة الجهاز.
- عرض عناصر التحكّم المختلفة مثل العرض الشامل والتكبير/التصغير.
- الاستجابة لطلبات التحريك والتكبير/التصغير عبر تحريك الخريطة وتكبيرها أو تصغيرها
- الاستجابة لإيماءات إصبعين من خلال إمالة زاوية عرض الخريطة.
بالإضافة إلى هذه العمليات التلقائية، يمكنك التحكّم في سلوك
مظهر الخريطة ومظهرها من خلال الخصائص والأساليب التي تظهر في الفئة
GMSMapView
. تسمح لك GMSMapView
بإضافة العلامات وإزالتها والتراكبات
الأرضية والخطوط المتعددة، وتغيير نوع الخريطة التي يتم عرضها، والتحكّم
ما يظهر على الخريطة من خلال
فئة GMSCameraPosition
.
إنشاء خرائط باستخدام منصة SwiftUI
توفّر منصة SwiftUI طريقة إضافية لإنشاء واجهة مستخدم باستخدام نهج تعريفي. يمكنك إخبار SwiftUI بأنّك تريد عرض ملفك الشخصي بجميع الحالات المختلفة، وسيتولّى النظام باقي المهمة. تعالج SwiftUI تعديل طريقة العرض كلما تغيّرت الحالة الأساسية بسبب حدث أو إجراء مستخدم.
تم إنشاء حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع 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
.
الخطوات التالية
بعد إكمال هذه الخطوات، يمكنك ضبط إعدادات الخريطة.