إضافة خريطة باستخدام محدّد موقع
يوضح لك هذا البرنامج التعليمي كيفية إضافة خريطة Google إلى تطبيق iOS. تتضمن الخريطة علامة، تسمى أيضًا دبوس، للإشارة إلى موقع معين.
الحصول على الرمز
استنسِخ أو نزِّل مستودع نماذج "خرائط Google" على نظام التشغيل iOS من GitHub.
إعداد مشروع التطوير
اتبع الخطوات التالية لتثبيت حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل iOS:
- نزِّل Xcode الإصدار 14.0 أو إصدار أحدث وثبِّته.
- إذا لم يكن لديك جهاز CocoaPods،
يمكنك تثبيته على نظام التشغيل macOS من خلال تنفيذ الأمر التالي من الوحدة الطرفية:
sudo gem install cocoapods
- استنسِخ أو نزِّل مستودع نماذج "خرائط Google" على نظام التشغيل iOS.
- انتقِل إلى الدليل
tutorials/map-with-marker
. - نفِّذ الأمر
pod install
. سيؤدي هذا الإجراء إلى تثبيت واجهات برمجة التطبيقات المحدّدة فيPodfile
، بالإضافة إلى أي تبعيات قد تتضمّنها. - شغِّل تطبيق "
pod outdated
" للمقارنة بين إصدار المجموعة المثبَّتة وأي تحديثات جديدة. في حال رصد إصدار جديد، عليك تشغيلpod update
لتحديثPodfile
وتثبيت أحدث إصدار من حزمة تطوير البرامج (SDK). لمزيد من التفاصيل، يُرجى الاطّلاع على دليل CocoaPods. - افتح (انقر مرّتين) ملف map-with-marker.xcworkspace
للمشروع لفتحه في Xcode. يجب استخدام ملف
.xcworkspace
لفتح المشروع.
الحصول على مفتاح واجهة برمجة التطبيقات وتفعيل واجهات برمجة التطبيقات اللازمة
لإكمال هذا البرنامج التعليمي، تحتاج إلى مفتاح واجهة برمجة تطبيقات Google مصرح له باستخدام حزمة SDK للخرائط لنظام iOS. انقر فوق الزر أدناه للحصول على مفتاح وتنشيط واجهة برمجة التطبيقات.
البدءلمزيد من التفاصيل، يُرجى الاطّلاع على مقالة الحصول على مفتاح واجهة برمجة التطبيقات.
إضافة مفتاح واجهة برمجة التطبيقات إلى تطبيقك
أضِف مفتاح واجهة برمجة التطبيقات إلى AppDelegate.swift
على النحو التالي:
- تجدر الإشارة إلى أنّه تمت إضافة عبارة الاستيراد التالية إلى الملف:
import GoogleMaps
- عدِّل السطر التالي في طريقة
application(_:didFinishLaunchingWithOptions:)
، مع استبدال YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات الخاص بك:GMSServices.provideAPIKey("YOUR_API_KEY")
إنشاء تطبيقك وتشغيله
- وصِّل جهاز iOS بجهاز الكمبيوتر أو اختَر محاكي من القائمة المنبثقة لنظام Xcode.
- إذا كنت تستخدم جهازًا، فتأكد من أن خدمات الموقع الجغرافي مُفعَّلة. إذا كنت تستخدم أحد المحاكيات، اختَر موقعًا جغرافيًا من قائمة الميزات.
- في Xcode، انقر على خيار القائمة المنتج/التشغيل (أو رمز زر التشغيل).
- ينشئ Xcode التطبيق ثم يشغِّله على الجهاز أو على المحاكي.
- من المفترض أن تظهر لك خريطة تحتوي على مُحدّد في مركز مدينة سيدني على الساحل الشرقي لأستراليا، على غرار الصورة في هذه الصفحة.
تحرّي الخلل وإصلاحه:
- إذا لم تظهر لك خريطة، تأكّد من أنّك حصلت على مفتاح واجهة برمجة التطبيقات وأضفته إلى التطبيق، كما هو موضّح أعلاه. تحقَّق من وحدة تحكُّم تصحيح الأخطاء في Xcode بحثًا عن رسائل خطأ بشأن مفتاح واجهة برمجة التطبيقات.
- إذا فرضت قيودًا على مفتاح واجهة برمجة التطبيقات من خلال معرّف حزمة iOS، يمكنك تعديل
المفتاح لإضافة معرّف الحزمة للتطبيق:
com.google.examples.map-with-marker
. - تأكَّد من توفُّر اتصال جيد بشبكة WiFi أو نظام تحديد المواقع العالمي (GPS).
- استخدِم أدوات تصحيح أخطاء Xcode للاطّلاع على السجلات وتصحيح أخطاء التطبيق.
فهم الرمز
- يمكنك إنشاء خريطة وضبطها كعرض في
loadView()
.Swift
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) view = mapView
Objective-C
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6.0]; GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera]; self.view = mapView;
- إضافة علامة إلى الخريطة في
loadView()
Swift
// Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView
Objective-C
// Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView;
تعرض حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل iOS محتوى نافذة المعلومات تلقائيًا عندما ينقر المستخدم على محدّد موقع. ما مِن حاجة إلى إضافة أداة معالجة النقرات للعلامة إذا أردت استخدام السلوك التلقائي.
تهانينا! لقد أنشأت تطبيق iOS يعرض خريطة Google بعلامة تشير إلى موقع معين. لقد تعلمت أيضًا كيفية استخدام حزمة SDK للخرائط لنظام التشغيل iOS.
الخطوات التالية
اطّلع على مزيد من المعلومات حول كائن الخريطة، وما يمكنك فعله باستخدام العلامات.