Google Maps প্ল্যাটফর্ম নেভিগেশন SDK-এর সাহায্যে Swift-এ একটি সাধারণ iOS নেভিগেশন অ্যাপ তৈরি করুন, Google Maps প্ল্যাটফর্ম নেভিগেশন SDK-এর সাহায্যে Swift-এ একটি সাধারণ iOS নেভিগেশন অ্যাপ তৈরি করুন

১. শুরু করার আগে

এই কোডল্যাব আপনাকে একটি সহজ iOS অ্যাপ তৈরি করতে শেখাবে যা Google Maps প্ল্যাটফর্ম নেভিগেশন SDK ব্যবহার করে একটি পূর্ব-কনফিগার করা গন্তব্যে নেভিগেট করে।

কাজ শেষ হলে আপনার অ্যাপটি এরকম দেখাবে।

7e7c194a98d6dfa4.png সম্পর্কে

পূর্বশর্ত

তুমি কি শিখবে

  • কীভাবে একটি সহজ iOS Swift অ্যাপ তৈরি করবেন যা কোনও গন্তব্যে নেভিগেট করার জন্য নেভিগেশন SDK ব্যবহার করে।
  • দূরবর্তী Cocoapods সংগ্রহস্থল থেকে নেভিগেশন SDK কীভাবে সংহত করবেন।
  • নেভিগেশন SDK-এর শেষ ব্যবহারকারীর শর্তাবলীর সাথে অবস্থানের অনুমতি এবং ব্যবহারকারীর চুক্তি কীভাবে পরিচালনা করবেন।
  • কিভাবে SDK আরম্ভ করবেন।
  • কীভাবে একটি গন্তব্য নির্ধারণ করবেন এবং নেভিগেশন নির্দেশিকা শুরু করবেন।

তোমার যা লাগবে

  • XCode এর সর্বশেষ স্থিতিশীল সংস্করণ।
  • বিলিং সক্ষম থাকা একটি গুগল অ্যাকাউন্ট এবং প্রকল্প।
  • একটি iOS ডিভাইস অথবা XCode সিমুলেটরে চলমান একটি অনুকরণকৃত ডিভাইস। আপনি যেটিই বেছে নিন না কেন, এটিকে Navigation SDK-এর জন্য ন্যূনতম প্রয়োজনীয়তা পূরণ করতে হবে।

2. সেট আপ করুন

যদি আপনার কাছে ইতিমধ্যেই একটি Google Cloud Platform অ্যাকাউন্ট এবং বিলিং সক্ষম করা কোনও প্রকল্প না থাকে, তাহলে Getting Started with Google Maps Platform নির্দেশাবলী অনুসরণ করে আপনার Google Cloud Project সেট আপ করুন।

কনসোলে একটি Google ক্লাউড প্রোজেক্ট নির্বাচন করুন

ক্লাউড কনসোলে , প্রজেক্ট ড্রপ-ডাউন মেনুতে ক্লিক করুন এবং এই কোডল্যাবের জন্য আপনি যে প্রজেক্টটি ব্যবহার করতে চান তা নির্বাচন করুন।

গুগল ক্লাউড কনসোলে প্রজেক্ট সিলেক্টর ড্রপ-ডাউন মেনু।

আপনার প্রকল্পে নেভিগেশন SDK সক্ষম করুন

Google Cloud Marketplace- এ এই কোডল্যাবের জন্য প্রয়োজনীয় Google Maps Platform API এবং SDK সক্ষম করুন।

গুগল ক্লাউড কনসোলে APIs & Services > Library- এ নেভিগেট করুন এবং "Navigation SDK" অনুসন্ধান করুন।

তুমি একটি অনুসন্ধান ফলাফল দেখতে পাবে।

গুগল ক্লাউড কনসোলে API লাইব্রেরি স্ক্রিন, নেভিগেশন SDK পৃষ্ঠাটি দেখাচ্ছে।

পণ্যের বিবরণ পৃষ্ঠা খুলতে নেভিগেশন SDK-তে ক্লিক করুন। আপনার প্রকল্পে SDK সক্ষম করতে সক্ষম করুন -এ ক্লিক করুন।

iOS এর জন্য Google Maps SDK এর জন্য এই প্রক্রিয়াটি পুনরাবৃত্তি করুন।

একটি API কী তৈরি করুন

ক্লাউড কনসোলের ক্রেডেনশিয়াল পৃষ্ঠায় একটি API কী তৈরি করুন। গুগল ম্যাপস প্ল্যাটফর্মের সমস্ত অনুরোধের জন্য একটি API কী প্রয়োজন। কনসোলের ক্রেডেনশিয়াল পৃষ্ঠায়। পৃষ্ঠার শীর্ষে "+ক্রেডেনশিয়াল তৈরি করুন" এ ক্লিক করুন এবং বিকল্পগুলি থেকে "API কী" নির্বাচন করুন।

উৎপাদন ব্যবহারের জন্য, আপনার API কী-এর জন্য একটি অ্যাপ্লিকেশন সীমাবদ্ধতা সেট করা সর্বোত্তম অনুশীলন কিন্তু এই কোডল্যাবের জন্য এটি ঐচ্ছিক।

৩. নমুনা প্রকল্প ফাইলগুলি পান

এই বিভাগটি বর্ণনা করে যে কীভাবে এই কোডল্যাবের জন্য GitHub রিপোজিটরি থেকে ফাইল ক্লোন করে একটি মৌলিক খালি XCode অ্যাপ প্রকল্প সেট আপ করবেন। Github রেপোতে কোডল্যাব কোডের পূর্ববর্তী এবং পরবর্তী সংস্করণ রয়েছে। কোডল্যাবটি একটি খালি প্রকল্প টেমপ্লেট দিয়ে শুরু হবে এবং সমাপ্ত অবস্থায় তৈরি হবে। যদি আপনি আটকে যান তবে আপনি রেপোতে সমাপ্ত প্রকল্পটি রেফারেন্স হিসাবে ব্যবহার করতে পারেন।

রেপো ক্লোন করুন অথবা কোডটি ডাউনলোড করুন।

আপনি যে ডিরেক্টরিতে কোডল্যাব সংরক্ষণ করতে চান সেখানে যান।

তারপর রেপো ক্লোন করুন অথবা কোডটি ডাউনলোড করুন:

git clone https://github.com/googlemaps-samples/codelab-navigation-101-ios-swift

যদি আপনার গিট ইনস্টল না থাকে, তাহলে কোডটি পেতে এই বোতামটি ক্লিক করুন:

যত তাড়াতাড়ি সম্ভব শুরু করার জন্য, রেপোতে Starter ফোল্ডারে কিছু স্টার্টার কোড রয়েছে যা আপনাকে এই কোডল্যাবের সাথে অনুসরণ করতে সাহায্য করবে। আপনি যদি যেকোনো সময় এগিয়ে যেতে চান বা আপনার অগ্রগতি পরীক্ষা করতে চান তবে একটি সমাপ্ত Solution প্রকল্পও রয়েছে। সমাধান প্রকল্পটি ব্যবহার করার জন্য আপনাকে নীচের "Cocoapods ব্যবহার করে ইনস্টল করুন" নির্দেশাবলী অনুসরণ করতে হবে এবং তারপর solution/Navigation SDK Codelab ফোল্ডার থেকে "পড আপডেট" কমান্ডটি চালাতে হবে।

একবার আপনি স্থানীয়ভাবে রেপো ক্লোন করার পরে, XCode ব্যবহার করে Starter ফোল্ডারটিকে একটি বিদ্যমান প্রকল্প হিসাবে খুলুন। প্রকল্পটি তৈরি এবং চলমান কিনা তা পরীক্ষা করুন।

একটি ডিভাইস সংযুক্ত করুন অথবা XCode সিমুলেটর সেট আপ করুন

৪. আপনার অ্যাপে নেভিগেশন SDK যোগ করুন

একটি XCode প্রকল্পে Navigation SDK ইন্টিগ্রেট করার তিনটি উপায় আছে: এই কোডল্যাব CocoaPods ব্যবহার করে। Swift Package Manager ব্যবহার করে ইন্টিগ্রেট করার পদ্ধতি, অথবা SDK ডাউনলোড করে ম্যানুয়ালি ইনস্টল করার পদ্ধতি সম্পর্কে বিস্তারিত জানতে, Navigation SDK ডকুমেন্টেশনে Xcode প্রজেক্ট তৈরি করুন এবং Navigation SDK ইনস্টল করুন দেখুন।

কোকোপড ব্যবহার করে ইনস্টল করুন

যদি আপনার কাছে ইতিমধ্যেই CocoaPods টুলটি না থাকে, তাহলে টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে macOS-এ এটি ইনস্টল করুন। বিস্তারিত জানার জন্য, CocoaPods শুরু করার নির্দেশিকা দেখুন।

sudo gem install cocoapods

আপনার প্রোজেক্ট ফোল্ডারে, স্টার্টার/নেভিগেশন SDK কোডল্যাব ফোল্ডারের ভেতরে Podfile নামে একটি নতুন ফাইল তৈরি করুন (XCode-এ, File > New > File > Other > Empty, "Podfile" হিসেবে সংরক্ষণ করুন)

আপনার Podfile নিম্নলিখিত বিষয়বস্তু যোগ করুন:

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '15.0'

target 'Navigation SDK Codelab' do
  pod 'GoogleNavigation', '9.1.1'
end

Podfile সংরক্ষণ করুন।

একটি টার্মিনাল খুলুন এবং ডিরেক্টরিটি সেই স্থানে পরিবর্তন করুন যেখানে আপনি আপনার পডফাইলটি সংরক্ষণ করেছেন (এটি কোডল্যাব রেপোতে "স্টার্টার/নেভিগেশন SDK কোডল্যাব" ফোল্ডার হওয়া উচিত)

cd "<path-to-starter-project-folder>/Navigation SDK Codelab"

pod install কমান্ডটি চালান। এটি Podfile এ উল্লেখিত API গুলি, যেকোনো নির্ভরতা সহ ইনস্টল করে।

pod install

Xcode বন্ধ করুন, এবং তারপর Xcode চালু করতে আপনার প্রোজেক্টের .xcworkspace ফাইলটি খুলুন। এখন থেকে, আপনাকে প্রোজেক্টটি খুলতে .xcworkspace ফাইলটি ব্যবহার করতে হবে।

প্রকল্প কাঠামোতে একটি পডস ডিরেক্টরি যোগ করা হয়েছে কিনা এবং এতে "গুগলম্যাপস" এবং "গুগলনেভিগেশন" পড রয়েছে কিনা তা পরীক্ষা করুন।

6e81772ee067d452.png সম্পর্কে

আপনার API কী যোগ করুন

আপনার AppDelegate.swift এ আপনার API কীটি নিম্নরূপ যোগ করুন:

  1. নিম্নলিখিত আমদানি বিবৃতি যোগ করুন:
import GoogleMaps
import GoogleNavigation
  1. আপনার application(_:didFinishLaunchingWithOptions:) পদ্ধতিতে নিম্নলিখিতটি যোগ করুন:
GMSServices.provideAPIKey("YOUR_API_KEY")

"YOUR_API_KEY" এর পরিবর্তে আগের ধাপে তৈরি করা API কীটি ব্যবহার করুন।

আপনার প্রকল্পটি তৈরি করুন এবং কোনও ত্রুটি থাকলে তা ঠিক করুন।

৫. অ্যাপের অনুমতি কনফিগার করুন

নেভিগেশন SDK রাস্তার অবস্থান এবং টার্ন-বাই-টার্ন নির্দেশিকা প্রদানের জন্য GPS সিগন্যালের উপর নির্ভর করে, তাই আপনার অ্যাপটিকে ব্যবহারকারীকে সুনির্দিষ্ট অবস্থান ডেটাতে অ্যাক্সেস দেওয়ার জন্য অনুরোধ করতে হবে।

এটি করার জন্য, আপনাকে Xcode-এ আপনার অ্যাপ Info.plist-এ কিছু বৈশিষ্ট্য যুক্ত করতে হবে, রানটাইমের সময় ব্যবহারকারীর কাছ থেকে অনুমতি চাইতে আপনার অ্যাপে কিছু কোড যুক্ত করতে হবে এবং অনুমতি না দেওয়া বা অবস্থান অনুপলব্ধ থাকার মতো যেকোনো ত্রুটি মোকাবেলা করতে হবে।

Xcode এ Info.plist খুলুন। এটি দেখতে এরকম কিছু হওয়া উচিত।

6532a85bd9ac8fb4.png সম্পর্কে

সুনির্দিষ্ট অবস্থানের অনুমতির জন্য অনুরোধ করুন

"তথ্য সম্পত্তি তালিকা" সারির উপর আপনার মাউস পয়েন্টারটি ঘোরানোর মাধ্যমে আপনি নতুন মান যোগ করতে পারেন যতক্ষণ না আপনি একটি "+" আইকন দেখতে পান। প্রস্তাবিত সম্পত্তির নাম সহ একটি ডায়ালগ দেখতে "+" এ ক্লিক করুন, তবে মনে রাখবেন যে আপনি ম্যানুয়ালিও বৈশিষ্ট্য যোগ করতে পারেন।

Info.plist-এ নিম্নলিখিত বৈশিষ্ট্য এবং মান যোগ করুন:

সম্পত্তি

মূল্য

গোপনীয়তা - অবস্থান সর্বদা এবং কখন ব্যবহার করা হচ্ছে ব্যবহারের বিবরণ

"এই অ্যাপটির আপনার ডিভাইসের অবস্থান প্রয়োজন যাতে আপনি একের পর এক নেভিগেশন করতে পারেন"

গোপনীয়তা - ব্যবহারের সময় অবস্থান ব্যবহারের বিবরণ

"এই অ্যাপটির আপনার ডিভাইসের অবস্থান প্রয়োজন যাতে আপনি একের পর এক নেভিগেশন করতে পারেন"

ব্যাকগ্রাউন্ডলোকেশন আপডেটগুলিকে অনুমতি দেয়

হ্যাঁ

ব্যাকগ্রাউন্ড লোকেশনের অনুমতির জন্য অনুরোধ করুন

Info.plist-এ নিম্নলিখিত বৈশিষ্ট্য এবং মান যোগ করুন:

UIBackgroundModes > সারি যোগ করুন > Item 0: App registers for location updates (পরামর্শের ড্রপ ডাউন তালিকা থেকে এই মানটি নির্বাচন করুন)

আপনার কাজ শেষ হলে Info.plist এরকম কিছু দেখাবে।

3b0c49018451d0ff.png সম্পর্কে

রানটাইমের সময় লোকেশন অ্যাক্সেসের অনুরোধ করুন

ViewController.swift এ নিম্নলিখিত আমদানি বিবৃতি যোগ করুন:

import GoogleNavigation

আপনার ViewController ক্লাসে নিম্নলিখিত ঘোষণাটি যোগ করুন:

var locationManager: CLLocationManager!

loadView() এর জন্য একটি পদ্ধতি ওভাররাইড যোগ করুন এবং locationManager.requestAlwaysAuthorization() কল করুন:

override func loadView() {
        locationManager = CLLocationManager()
        locationManager.requestAlwaysAuthorization()

আপনার অ্যাপ এখন ব্যবহারকারীর কাছ থেকে অবস্থানের জন্য অনুরোধ করবে এবং যদি তারা অনুমতি দেয় তবে এটি আপনার অ্যাপের কাছে উপলব্ধ করবে।

বিজ্ঞপ্তি দেখানোর জন্য অনুমতির অনুরোধ করুন

ব্যবহারকারীর কাছ থেকে বিজ্ঞপ্তি দেখানোর অনুমতি চাইতে loadView() এ নিম্নলিখিত কোডটি যোগ করুন, যা নেভিগেশন ম্যানুভার নির্দেশাবলী দেখানোর জন্য প্রয়োজন হবে।

UNUserNotificationCenter.current().requestAuthorization(options: [.alert]) {
        granted, error in
        // Handle denied authorization to display notifications.
          if !granted || error != nil {
              print("User rejected request to display notifications.")
          }
        }

অ্যাপটি তৈরি করুন এবং চালান এবং পরীক্ষা করুন যে আপনাকে অবস্থান ভাগ করে নেওয়ার এবং বিজ্ঞপ্তিগুলি সক্ষম করার জন্য অনুরোধ করা হচ্ছে কিনা।

ad5f665a21170c49.png সম্পর্কে

৬. একটি নেভিগেশন ইউজার ইন্টারফেস যোগ করুন

এই ধাপে আপনি একটি মানচিত্র যোগ করবেন এবং এটিকে একটি অবস্থান দেখানোর জন্য কনফিগার করবেন। এরপর আপনি ব্যবহারকারীকে নেভিগেশন SDK ব্যবহারের শর্তাবলী সহ একটি ডায়ালগ দেখাবেন।

আপনার অ্যাপে একটি মানচিত্র দৃশ্য যোগ করুন

আপনার ভিউকন্ট্রোলারে একটি GMSMapView ভেরিয়েবল ঘোষণা করতে এই লাইনটি যোগ করুন।

var mapView: GMSMapView!

ম্যাপটি ইনিশিয়ালাইজ করতে আপনার Viewcontroller.swiftloadView() এ নিম্নলিখিত কোডটি যোগ করুন।

let camera = GMSCameraPosition.camera(withLatitude: 51.483174, longitude: -0.177369, zoom: 14)
let options = GMSMapViewOptions()
options.camera = camera
options.frame = .zero
        
mapView = GMSMapView(options: options)
view = mapView

আপনার অ্যাপটি তৈরি এবং চালান, আপনি দক্ষিণ-পশ্চিম লন্ডনকে কেন্দ্র করে একটি মানচিত্র দেখতে পাবেন।

1d46ce5c0851cae3.png সম্পর্কে

নেভিগেশন SDK পণ্য ব্যবহারের শর্তাবলী ডায়ালগটি দেখান

পূর্ববর্তী কোডের মতো একই loadView() পদ্ধতিতে ViewController.swift এ নিম্নলিখিত কোডটি যোগ করুন। এটি Navigation SDK-এর শেষ-ব্যবহারকারীর ব্যবহারের শর্তাবলী দেখাবে। যদি গৃহীত না হয়, তাহলে Navigation সক্ষম করা হবে না।

// Show the terms and conditions.
let companyName = "Navigation SDK Codelab"
GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(withCompanyName: companyName) { termsAccepted in
  if termsAccepted {
    // Enable navigation if the user accepts the terms.
    self.mapView.isNavigationEnabled = true
    // Request authorization for alert notifications which deliver guidance instructions
    // in the background.
  } else {
    // Handle the case when the user rejects the terms and conditions.
  }
}

ডায়ালগটি দেখতে অ্যাপটি তৈরি করুন এবং চালান।

29f17ae5b4c07c9f.png সম্পর্কে

৭. মূল নেভিগেশন ইভেন্টের জন্য শ্রোতা যোগ করুন

এই ধাপে আপনাকে দেখাবে কিভাবে গুরুত্বপূর্ণ ইভেন্টগুলির জন্য শ্রোতা সেট আপ করতে হয়, যেমন গন্তব্যে পৌঁছানো, অথবা ড্রাইভারের রুট পরিবর্তন করা।

এই ইভেন্টগুলি শোনার জন্য, আপনার ভিউ কন্ট্রোলারকে অবশ্যই GMSNavigatorListener প্রোটোকল গ্রহণ করতে হবে।

ViewController.swift এ ক্লাস সংজ্ঞায় এই প্রোটোকলটি যোগ করুন।

class ViewController: UIViewController,
                      GMSNavigatorListener {

এখন, loadView():

// Add a listener for GMSNavigator.
mapView.navigator?.add(self)

অবশেষে, উত্থাপিত ঘটনাগুলি পরিচালনা করার জন্য আপনার ক্লাসে দুটি পদ্ধতি যোগ করুন।

// Listener to handle arrival events.
func navigator(_ navigator: GMSNavigator, didArriveAt waypoint: GMSNavigationWaypoint) {
  print("You have arrived at: \(waypoint.title)")
}

// Listener for route change events.
func navigatorDidChangeRoute(_ navigator: GMSNavigator) {
  print("The route has changed.")
}

৮. একটি গন্তব্য নির্ধারণ করুন এবং নির্দেশিকা শুরু করুন

এই বিভাগটি আপনাকে শেখাবে কিভাবে একটি গন্তব্য নির্ধারণ করতে হয় এবং নেভিগেশন নির্দেশিকা শুরু করতে হয়।

নেভিগেশন লজিকের জন্য একটি নতুন ফাংশন তৈরি করুন।

প্রথমে, আপনার ViewControllerstartNav() নামে একটি নতুন ফাংশন যুক্ত করুন। এতে একটি গন্তব্য নির্ধারণ এবং নেভিগেট শুরু করার যুক্তি থাকবে।

// Create a route and start guidance.
@objc func startNav() {
}

গন্তব্যের জন্য একটি Waypoint তৈরি করুন।

এরপর, একটি একক ওয়েপয়েন্ট সহ গন্তব্যস্থলের একটি অ্যারে তৈরি করুন।

// Create a route and start guidance.
@objc func startNav() {
  var destinations = [GMSNavigationWaypoint]()
  destinations.append(
    GMSNavigationWaypoint.init(
      placeID: "ChIJH-tBOc4EdkgRJ8aJ8P1CUxo",
      title: "Trafalgar Square")!)
}

setDestinations() কল করুন এবং প্রতিক্রিয়াটি পরিচালনা করুন।

এরপর, setDestinations কল করুন এবং ফিরে আসা GMSRouteStatus পরিচালনা করুন।

যদি GMSRouteStatus "ঠিক আছে" থাকে, তাহলে mapView এর navigator অবজেক্টে isGuidanceActive=true সেট করে নির্দেশিকা শুরু করুন। অন্যথায়, একটি ত্রুটি ছিল তা দেখানোর জন্য একটি বিবৃতি মুদ্রণ করুন।

যদি GMSRouteStatus মানটি "ঠিক আছে" হয়, তাহলে mapView.locationSimulator.simulateLocationsAlongExistingRoute() এ কল করে রুট ধরে ড্রাইভিং সিমুলেট করা শুরু করুন।

// Create a route and start guidance.
@objc func startNav() {
  var destinations = [GMSNavigationWaypoint]()
    destinations.append(
      GMSNavigationWaypoint.init(
        placeID: "ChIJH-tBOc4EdkgRJ8aJ8P1CUxo",
          title: "Trafalgar Square")!)
      
  mapView.navigator?.setDestinations(
    destinations
  ) { routeStatus in
    guard routeStatus == .OK else {
      print("Handle route statuses that are not OK.")
      return
    }
    //If routeStatus is OK, start guidance.
    self.mapView.navigator?.isGuidanceActive = true
    //start simulating driving along the route. self.mapView.locationSimulator?.simulateLocationsAlongExistingRoute()
    self.mapView.cameraMode = .following
  }
}

সাধারণ ত্রুটির অবস্থাগুলি পরিচালনা করুন

GMSRouteStatus ত্রুটিগুলি আরও স্পষ্টভাবে পরিচালনা করা কার্যকর, বিশেষ করে যখন আপনার নতুন অ্যাপের প্রাথমিক সমস্যাগুলি ডিবাগ করা হয়। উদাহরণস্বরূপ, আপনি দেখতে পাবেন যে আপনার ডিবাগ সেটআপের কারণে প্রথমে আপনি লোকেশন অনুমতি, API কী বা "কোন রুট পাওয়া যায়নি" ত্রুটিগুলি আরও ঘন ঘন পান, তাই এই ত্রুটির অবস্থাগুলি পরিচালনা করা কার্যকর হতে পারে।

এই নির্দিষ্ট কেসগুলি পরিচালনা করে এবং কনসোলে একটি বিবৃতি প্রিন্ট করে এমন কোড যুক্ত করুন।

mapView.navigator?.setDestinations(
  destinations
) { routeStatus in
    guard routeStatus == .OK else {
      print("Handle route statuses that are not OK.")
      switch routeStatus {
       case .locationUnavailable:
        print("Location unavailable.") //check permissions
      case .noRouteFound:
        print("No route found.") //check start location and destination
      case .waypointError:
        print("Waypoint error") //check Place ID
      default:
        print("Not sure what happened")
      }
    return
  }

নেভিগেশন নির্দেশিকা শুরু করতে একটি বোতাম যোগ করুন

অবশেষে, UI তে একটি বোতাম যোগ করুন এবং এটি startNav পদ্ধতির সাথে সংযুক্ত করুন। নিম্নলিখিত কোডটি ব্যবহার করে makeButton() নামক একটি পদ্ধতি তৈরি করুন। loadView() থেকে আপনার makeButton() ফাংশনটি কল করুন।

// Add a button to the view.
func makeButton() {
  // A button to start navigation.
  let navButton = UIButton(frame: CGRect(x: 5, y: 150, width: 200, height: 35))
  navButton.backgroundColor = .blue
  navButton.alpha = 0.5
  navButton.setTitle("Start navigation", for: .normal)
  navButton.addTarget(self, action: #selector(startNav), for: .touchUpInside)
  self.mapView.addSubview(navButton)
}

আপনার অ্যাপ তৈরি করুন এবং চালান।

দ্রষ্টব্য: কোডটি রান করা হচ্ছে

startNav()

ডাকবে

setDestinations()

যে পদ্ধতিতে প্রথম ১০০০টি গন্তব্যস্থল ব্যবহারের পরে চার্জ প্রযোজ্য হবে। আরও তথ্যের জন্য ব্যবহার এবং বিলিং দেখুন।

9. অভিনন্দন!

দারুন - তুমি তোমার গন্তব্যে পৌঁছে গেছো!

7a69dcb75c904d7.png সম্পর্কে

আপনি একটি সহজ অ্যাপ তৈরি করেছেন যা Google Maps Platform Navigation SDK ব্যবহার করে একটি গন্তব্যে পালাক্রমে নেভিগেশন নির্দেশিকা প্রদান করে।

আপনি অ্যাপের অনুমতি এবং নেভিগেশন SDK এর শেষ ব্যবহারকারীর শর্তাবলী ডায়ালগ কনফিগার করেছেন এবং একটি স্থান আইডি ব্যবহার করে একটি গন্তব্য নির্দিষ্ট করেছেন। আপনি আপনার অ্যাপে বিভিন্ন সাফল্য এবং ত্রুটির অবস্থা পরিচালনা করেছেন।

১০. আরও এগিয়ে যাওয়া

আপনি যদি আপনার অ্যাপ ডেভেলপমেন্টকে আরও এগিয়ে নিতে চান, তাহলে অনুপ্রেরণার জন্য নিম্নলিখিত বিষয়গুলি দেখুন।

  • আরও নেভিগেশন ইভেন্টের জন্য শুনুন । অবশিষ্ট সময় বা দূরত্ব একটি থ্রেশহোল্ড অতিক্রম করলে একটি বার্তা প্রদর্শনের জন্য কোড যোগ করুন।
  • নেভিগেশন ইন্টারফেস কাস্টমাইজ করুন
  • যদি আপনি আরও বড় চ্যালেঞ্জ চান, তাহলে ব্যবহারকারীকে গন্তব্য নির্ধারণের অনুমতি দেওয়ার জন্য Places API প্লেস পিকার যোগ করতে পারেন কিনা তা দেখুন। ইঙ্গিত: Navigation SDK ডেমো অ্যাপগুলির একটি নমুনা বাস্তবায়ন রয়েছে। কোডটি দেখতে আপনার প্রোজেক্ট ফোল্ডারে pod try GoogleNavigation চালান।