إضافة خريطة محدّدة بعلامة
يشرح لك هذا الدليل التوجيهي كيفية إضافة خريطة 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-identifier.xcworkspace
للمشروع (انقر مرّتين) لفتحه في Xcode. يجب استخدام ملف
.xcworkspace
لفتح المشروع.
الحصول على مفتاح واجهة برمجة التطبيقات وتفعيل واجهات برمجة التطبيقات اللازمة
لإكمال هذا البرنامج التعليمي، ستحتاج إلى مفتاح Google API مسموح له باستخدام حزمة تطوير البرامج "خرائط Google" على جهاز 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
. - تأكد من توفّر اتصال جيد بشبكة Wi-Fi أو عبر نظام تحديد المواقع العالمي (GPS).
- استخدِم أدوات تصحيح أخطاء XX لعرض السجلات وتصحيح أخطاء التطبيق.
فهم الرمز
- يمكنك إنشاء خريطة وضبطها كعرض في
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;
وفقًا للإعدادات التلقائية، تعرض حزمة تطوير البرامج (SDK) في "خرائط Google" لأجهزة iOS محتوى نافذة المعلومات عندما ينقر المستخدم على محدِّد. ولست بحاجة إلى إضافة أداة استماع للنقر على العلامة إذا كنت تريد استخدام السلوك التلقائي.
تهانينا! لقد أنشأت تطبيق iOS يعرض خريطة Google باستخدام علامة للإشارة إلى موقع جغرافي معيّن. لقد تعلّمت أيضًا كيفية استخدام حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS.
الخطوات التالية
اطّلِع على مزيد من المعلومات عن كائن الخريطة، وما يمكنك فعله باستخدام العلامات.