اضافه کردن نقشه با نشانگر

این آموزش به شما نشان می دهد که چگونه یک نقشه گوگل را به برنامه iOS خود اضافه کنید. این نقشه شامل یک نشانگر است که پین ​​نیز نامیده می شود تا مکان خاصی را نشان دهد.

دریافت کد

مخزن نمونه های iOS نقشه های گوگل را از GitHub شبیه سازی یا دانلود کنید.

راه اندازی پروژه توسعه خود

برای نصب Maps SDK برای iOS این مراحل را دنبال کنید:

  1. Xcode نسخه 14.0 یا بالاتر را دانلود و نصب کنید.
  2. اگر قبلاً CocoaPods ندارید، با اجرای دستور زیر از ترمینال، آن را روی macOS نصب کنید:
    sudo gem install cocoapods
  3. مخزن نمونه های iOS Google Maps را شبیه سازی یا دانلود کنید.
  4. به دایرکتوری tutorials/map-with-marker بروید.
  5. دستور pod install را اجرا کنید. این API های مشخص شده در Podfile را به همراه وابستگی هایی که ممکن است داشته باشند نصب می کند.
  6. برای مقایسه نسخه پاد نصب شده با هر به‌روزرسانی جدید pod outdated اجرا کنید. اگر نسخه جدیدی شناسایی شد، pod update اجرا کنید تا Podfile به‌روزرسانی شود و آخرین SDK نصب شود. برای جزئیات بیشتر، به راهنمای CocoaPods مراجعه کنید.
  7. فایل map-with-marker.xcworkspace پروژه را باز کنید (دوبار کلیک کنید) تا در Xcode باز شود. برای باز کردن پروژه باید از فایل .xcworkspace استفاده کنید.

دریافت یک کلید API و فعال کردن API های لازم

برای تکمیل این آموزش، به یک کلید Google API نیاز دارید که مجاز به استفاده از Maps SDK برای iOS باشد. برای دریافت کلید و فعال کردن API روی دکمه زیر کلیک کنید.

شروع کنید

برای جزئیات بیشتر، به دریافت کلید API مراجعه کنید.

کلید API را به برنامه خود اضافه کنید

کلید API خود را به صورت زیر به AppDelegate.swift خود اضافه کنید:

  1. توجه داشته باشید که عبارت import زیر به فایل اضافه شده است:
    import GoogleMaps
  2. خط زیر را در روش application(_:didFinishLaunchingWithOptions:) خود ویرایش کنید و YOUR_API_KEY را با کلید API خود جایگزین کنید:
    GMSServices.provideAPIKey("YOUR_API_KEY")

ساخت و اجرای برنامه شما

  1. یک دستگاه iOS را به رایانه خود وصل کنید یا از منوی پاپ آپ طرح Xcode یک شبیه ساز انتخاب کنید.
  2. اگر از دستگاهی استفاده می‌کنید، مطمئن شوید که خدمات موقعیت مکانی فعال هستند. اگر از شبیه ساز استفاده می کنید، یک مکان را از منوی ویژگی ها انتخاب کنید.
  3. در Xcode، روی گزینه منوی Product/Run (یا نماد دکمه پخش) کلیک کنید.
    • Xcode برنامه را می سازد و سپس برنامه را روی دستگاه یا شبیه ساز اجرا می کند.
    • شما باید نقشه ای را با یک نشانگر در مرکز سیدنی در ساحل شرقی استرالیا، مشابه تصویر این صفحه ببینید.

عیب یابی:

  • اگر نقشه‌ای را نمی‌بینید، همانطور که در بالا توضیح داده شد ، بررسی کنید که یک کلید API دریافت کرده‌اید و آن را به برنامه اضافه کرده‌اید. کنسول اشکال زدایی Xcode را برای پیام های خطا در مورد کلید API بررسی کنید.
  • اگر کلید API را با شناسه بسته iOS محدود کرده‌اید، کلید را ویرایش کنید تا شناسه بسته را برای برنامه اضافه کنید: com.google.examples.map-with-marker .
  • اطمینان حاصل کنید که اتصال WiFi یا GPS خوبی دارید.
  • از ابزارهای اشکال زدایی Xcode برای مشاهده گزارش ها و اشکال زدایی برنامه استفاده کنید.

درک کد

  1. یک نقشه ایجاد کنید و آن را به عنوان نمای در loadView() تنظیم کنید.

    سریع

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

    هدف-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. در loadView() یک نشانگر به نقشه اضافه کنید.

    سریع

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

    هدف-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;
          

به طور پیش‌فرض، Maps SDK برای iOS محتوای پنجره اطلاعات را زمانی که کاربر روی یک نشانگر ضربه می‌زند، نمایش می‌دهد. اگر از رفتار پیش‌فرض راضی هستید، نیازی به افزودن یک کلیک شنونده برای نشانگر نیست.

تبریک می گویم! شما یک برنامه iOS ساخته اید که نقشه گوگل را با یک نشانگر برای نشان دادن یک مکان خاص نمایش می دهد. همچنین نحوه استفاده از Maps SDK برای iOS را یاد گرفته‌اید.

مراحل بعدی

درباره شی نقشه و کارهایی که می توانید با نشانگرها انجام دهید بیشتر بیاموزید.