إضافة خريطة باستخدام علامة
يوضح لك هذا البرنامج التعليمي كيفية إضافة خريطة Google إلى تطبيق iOS. تتضمن الخريطة علامة، تسمى أيضًا الدبوس، للإشارة إلى موقع معين.
جارٍ الحصول على الرمز
يمكنك نسخ مستودع نماذج خرائط Google على نظام التشغيل iOS أو تنزيله من GitHub.
إعداد مشروع التطوير
اتبع الخطوات التالية لتثبيت SDK لخرائط Google لنظام التشغيل iOS:
- نزِّل الإصدار 14.0 أو إصدار أحدث من Xcode وثبِّته.
- إذا لم يكن لديك تطبيق 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، انقر على خيار القائمة Product/Run (أو على رمز زر التشغيل).
- ينشئ 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.
الخطوات التالية
تعرّف على مزيد من المعلومات حول كائن الخريطة، وما يمكنك فعله باستخدام العلامات.