إضافة خريطة

اختيار النظام الأساسي: نظام التشغيل Android iOS JavaScript

يتم تمثيل الخرائط في واجهة برمجة التطبيقات بواسطة الفئة 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.

إضافة خريطة

الخطوات الأساسية لإضافة خريطة هي:

  1. للحصول على حزمة SDK والحصول على مفتاح واجهة برمجة تطبيقات وإضافة أُطر العمل المطلوبة، اتّبِع الخطوات التالية: الخطوات الواردة في:

    1. الإعداد في Google Cloud Console

    2. استخدام مفتاح واجهة برمجة التطبيقات

    3. إعداد مشروع Xcode

    4. في AppDelegate، أدخِل مفتاح واجهة برمجة التطبيقات إلى provideAPIKey:. طريقة الصف على GMSServices.

    5. إنشاء ViewController أو تعديلها إذا ظهرت الخريطة عند ظهور وحدة التحكم، فتأكد من إنشائها داخل طريقة viewDidLoad.

    6. عند تهيئة عرض الخريطة، يمكنك تعيين خيارات التكوين باستخدام GMSMapViewOptions تشمل الخصائص كلاً من frame وcamera mapID أوbackgroundColor أو screen.

    7. ضبط موقع خيارات الخريطة على camera باستخدام الكائن GMSCameraPosition. يحدد هذا المركز ومستوى التكبير/التصغير الخريطة.

    8. إنشاء صف GMSMapView وإنشاء مثيل منه باستخدام السمة GMSMapView طريقة options:. فإذا كانت هذه الخريطة ستُستخدم كوحدة تحكم العرض عرض فقط، يمكن ضبط القيمة التلقائية لخيار الخريطة frame التي تبلغ CGRectZero تُستخدم كطريقة العرض frame - يتم تغيير حجم الخريطة تلقائيًا.

    9. ضبط الكائن 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
  }
}

Objective-C

- (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". الخاص بك.

الخطوات التالية

بعد إكمال هذه الخطوات، يمكنك تهيئة الخريطة الإعدادات.