إضافة خريطة مع علامة

يوضّح هذا البرنامج التعليمي كيفية إضافة خريطة Google مع علامة إلى تطبيق iOS. وهو مناسب للمستخدمين الذين لديهم معرفة أساسية أو متوسطة بلغتَي Swift أو Objective-C ومعرفة عامة بـ Xcode. للاطّلاع على دليل متقدّم حول إنشاء الخرائط، يُرجى قراءة دليل المطوّرين.

ستنشئ الخريطة التالية باستخدام هذا البرنامج التعليمي. تم وضع العلامة في سيدني، أستراليا.

لقطة شاشة تعرض خريطة مع علامة فوق مدينة سيدني

الحصول على الشفرة‏

استنسِخ أو نزِّل مستودع نماذج "خرائط Google" لنظام التشغيل iOS على GitHub.

بدلاً من ذلك، انقر على الزر التالي لتنزيل رمز المصدر:

أريد الحصول على الشفرة

Swift

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // 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: self.view.frame, camera: camera)
        self.view.addSubview(mapView)

        // 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

#import "ViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
  // Do any additional setup after loading the view.
  // 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];
  GMSMapView *mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera];
  mapView.myLocationEnabled = YES;
  [self.view addSubview:mapView];

  // 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;
}

@end
      

البدء

Swift Package Manager

يمكن تثبيت حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS باستخدام Swift Package Manager.

  1. أزِل أي تبعيات حالية لحزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS.
  2. افتح نافذة أوامر طرفية وانتقِل إلى الدليل tutorials/map-with-marker.
  3. أغلِق مساحة عمل Xcode ونفِّذ الأوامر التالية:
    sudo gem install cocoapods-deintegrate cocoapods-clean
    pod deintegrate
    pod cache clean --all
    rm Podfile
    rm map-with-marker.xcworkspace
  4. افتح مشروع Xcode واحذف ملف podfile.
  5. انتقِل إلى ملف > إضافة موارد الاعتمادية للحزمة (File > Add Package Dependencies).
  6. أدخِل https://github.com/googlemaps/ios-maps-sdk كعنوان URL، واضغط على مفتاح الإدخال لجلب الحزمة، ثم انقر على إضافة حزمة (Add Package).
  7. قد تحتاج إلى إعادة ضبط ذاكرة التخزين المؤقت للحزمة باستخدام ملف > الحزم > إعادة ضبط ذاكرة التخزين المؤقت للحزمة (File > Packages > Reset Package Cache).

استخدام CocoaPods

  1. نزِّل Xcode الإصدار 26.0 أو إصدارًا أحدث وتثبيته.
  2. إذا لم يكن لديك CocoaPods، ثبِّته على macOS عن طريق تنفيذ الأمر التالي من المحطة الطرفية:
    sudo gem install cocoapods
  3. انتقِل إلى الدليل tutorials/map-with-marker.
  4. نفِّذ الأمر pod install. سيؤدي ذلك إلى تثبيت حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" المحدّدة في Podfile، بالإضافة إلى أي تبعيات.
  5. نفِّذ الأمر pod outdated لمقارنة إصدار pod المثبَّت بأي تحديثات جديدة. إذا تم رصد إصدار جديد، نفِّذ الأمر pod update لتعديل Podfile وتثبيت أحدث حزمة تطوير برامج. لمزيد من التفاصيل، يُرجى الاطّلاع على دليل CocoaPods.
  6. افتح (انقر مرّتين) ملف map-with-marker.xcworkspace الخاص بالمشروع لفتحه في Xcode. يجب استخدام ملف ‎.xcworkspace لفتح المشروع.

الحصول على مفتاح واجهة برمجة تطبيقات وتفعيل واجهات برمجة التطبيقات اللازمة

لإكمال هذا الدليل التوجيهي/التعليمي، تحتاج إلى مفتاح واجهة برمجة تطبيقات Google مُرخّص له باستخدام حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS. انقر على الزر التالي للحصول على مفتاح وتفعيل واجهة برمجة التطبيقات.

البدء

لمزيد من التفاصيل، يُرجى الاطّلاع على الحصول على مفتاح واجهة برمجة تطبيقات.

إضافة مفتاح واجهة برمجة التطبيقات إلى تطبيقك

أضِف مفتاح واجهة برمجة التطبيقات إلى AppDelegate.swift على النحو التالي:

  1. يُرجى العِلم أنّه تمت إضافة عبارة الاستيراد التالية إلى الملف:
    import GoogleMaps
  2. عدِّل السطر التالي في طريقة application(_:didFinishLaunchingWithOptions:) ، واستبدِل YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات:
    GMSServices.provideAPIKey("YOUR_API_KEY")

إنشاء تطبيقك وتشغيله

  1. وصِّل جهاز iOS بالكمبيوتر أو اختَر محاكيًا من قائمة مخطط Xcode.
  2. إذا كنت تستخدم جهازًا، تأكَّد من تفعيل خدمات الموقع الجغرافي. إذا كنت تستخدم محاكيًا، اختَر موقعًا جغرافيًا من قائمة الميزات.
  3. في Xcode، انقر على خيار القائمة المنتج/تشغيل (أو رمز زر التشغيل ).
    • ينشئ Xcode التطبيق، ثم يشغّله على الجهاز أو على المحاكي.
    • يجب أن تظهر لك خريطة مع علامة في وسط سيدني على الساحل الشرقي لأستراليا، على غرار الصورة في هذه الصفحة.

تحرّي الخلل وإصلاحه:

  • إذا لم تظهر لك خريطة، تأكَّد من أنّك حصلت على مفتاح واجهة برمجة تطبيقات وأضفته إلى التطبيق، كما هو موضّح سابقًا. تحقَّق من وحدة تحكّم تصحيح الأخطاء في Xcode بحثًا عن رسائل الخطأ بشأن مفتاح واجهة برمجة التطبيقات.
  • إذا قيّدت مفتاح واجهة برمجة التطبيقات باستخدام معرّف حزمة iOS، عدِّل الـ مفتاح لإضافة معرّف الحزمة للتطبيق: com.google.examples.map-with-marker.
  • تأكَّد من أنّ لديك اتصالاً جيدًا بشبكة Wi-Fi أو بنظام تحديد المواقع العالمي (GPS).
  • استخدِم أدوات تصحيح الأخطاء في Xcode لعرض السجلات وتصحيح أخطاء التطبيق.

فهم الرمز البرمجي

  1. أنشئ خريطة واضبطها كطريقة العرض في viewDidLoad().

    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;
          
  2. أضِف علامة إلى الخريطة في viewDidLoad().

    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 مع علامة للإشارة إلى موقع جغرافي معيّن. تعرّفت أيضًا على كيفية استخدام حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS.

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

مزيد من المعلومات عن عنصر إنشاء الخريطة وما يمكنك فعله باستخدام العلامات.