১. শুরু করার আগে
এই কোডল্যাবটি আপনাকে একটি সহজ iOS অ্যাপ তৈরি করতে শেখাবে, যা গুগল ম্যাপস প্ল্যাটফর্ম নেভিগেশন SDK ব্যবহার করে আগে থেকে কনফিগার করা কোনো গন্তব্যে নেভিগেট করতে পারে।
কাজ শেষ হলে আপনার অ্যাপটি দেখতে এইরকম হবে।

পূর্বশর্ত
- সুইফটে প্রাথমিক আইওএস অ্যাপ ডেভেলপমেন্টের জ্ঞান।
- গুগল ম্যাপস এসডিকে-এর প্রাথমিক ধারণা, যেমন কোনো নির্দিষ্ট স্থানকে কেন্দ্র করে মানচিত্র তৈরি করার বিষয়ে কিছুটা পরিচিতি থাকা প্রয়োজন।
আপনি যা শিখবেন
- কীভাবে নেভিগেশন এসডিকে ব্যবহার করে কোনো গন্তব্যে নেভিগেট করার জন্য একটি সহজ আইওএস সুইফট অ্যাপ তৈরি করা যায়।
- রিমোট কোকোপডস রিপোজিটরি থেকে নেভিগেশন এসডিকে কীভাবে ইন্টিগ্রেট করবেন
- নেভিগেশন এসডিকে-এর শেষ ব্যবহারকারীর শর্তাবলীর সাথে অবস্থানের অনুমতি এবং ব্যবহারকারী চুক্তি কীভাবে পরিচালনা করবেন।
- এসডিকে কীভাবে চালু করবেন।
- কীভাবে গন্তব্য নির্ধারণ করবেন এবং নেভিগেশন নির্দেশনা শুরু করবেন
আপনার যা যা লাগবে
- XCode-এর সর্বশেষ স্থিতিশীল সংস্করণ।
- বিলিং চালু থাকা একটি গুগল অ্যাকাউন্ট এবং প্রজেক্ট।
- একটি iOS ডিভাইস অথবা XCode Simulator-এ চালিত একটি এমুলেটেড ডিভাইস। আপনি যেটিই বেছে নিন না কেন, সেটিকে অবশ্যই নেভিগেশন SDK-এর জন্য ন্যূনতম প্রয়োজনীয়তাগুলো পূরণ করতে হবে।
২. প্রস্তুত হন
যদি আপনার আগে থেকে একটি Google Cloud Platform অ্যাকাউন্ট এবং বিলিং চালু করা কোনো প্রজেক্ট না থাকে, তাহলে “ Getting started with Google Maps Platform” নির্দেশাবলী অনুসরণ করে আপনার Google Cloud প্রজেক্টটি সেট আপ করুন।
কনসোলে একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন
ক্লাউড কনসোলে , প্রজেক্ট ড্রপ-ডাউন মেনুতে ক্লিক করুন এবং এই কোডল্যাবের জন্য যে প্রজেক্টটি ব্যবহার করতে চান সেটি নির্বাচন করুন।

আপনার প্রোজেক্টে নেভিগেশন SDK সক্রিয় করুন
এই কোডল্যাবের জন্য প্রয়োজনীয় গুগল ম্যাপস প্ল্যাটফর্ম এপিআই এবং এসডিকে-গুলো গুগল ক্লাউড মার্কেটপ্লেস থেকে সক্রিয় করুন।
Google Cloud Console-এ APIs & Services > Library- তে যান এবং "Navigation SDK" অনুসন্ধান করুন।
আপনি একটি অনুসন্ধানের ফলাফল দেখতে পাবেন।

প্রোডাক্ট ডিটেইলস পেজ খুলতে নেভিগেশন এসডিকে-তে ক্লিক করুন। আপনার প্রোজেক্টে এসডিকে সক্রিয় করতে এনাবল-এ ক্লিক করুন।
iOS-এর জন্য Google Maps SDK-এর ক্ষেত্রেও এই প্রক্রিয়াটি পুনরাবৃত্তি করুন।
একটি এপিআই কী তৈরি করুন
ক্লাউড কনসোলের ক্রেডেনশিয়ালস পেজ থেকে একটি এপিআই কী তৈরি করুন। গুগল ম্যাপস প্ল্যাটফর্মে করা সমস্ত অনুরোধের জন্য একটি এপিআই কী প্রয়োজন। কনসোলের ক্রেডেনশিয়ালস পেজে, পৃষ্ঠার শীর্ষে থাকা "+Create Credentials"-এ ক্লিক করুন এবং বিকল্পগুলি থেকে "API Key" নির্বাচন করুন।
প্রোডাকশন ব্যবহারের জন্য আপনার এপিআই কী-তে একটি অ্যাপ্লিকেশন সীমাবদ্ধতা সেট করা উত্তম পন্থা, কিন্তু এই কোডল্যাবের জন্য তা ঐচ্ছিক।
৩. নমুনা প্রজেক্ট ফাইলগুলো সংগ্রহ করুন।
এই অংশে বর্ণনা করা হয়েছে কীভাবে এই কোডল্যাবের জন্য গিটহাব রিপোজিটরি থেকে ফাইল ক্লোন করে একটি সাধারণ খালি এক্সকোড অ্যাপ প্রজেক্ট সেট আপ করতে হয়। গিটহাব রিপোটিতে কোডল্যাব কোডের আগের এবং পরের সংস্করণ রয়েছে। কোডল্যাবটি একটি খালি প্রজেক্ট টেমপ্লেট দিয়ে শুরু হবে এবং ধীরে ধীরে সম্পূর্ণ অবস্থায় পৌঁছাবে। কোথাও আটকে গেলে আপনি রেফারেন্স হিসেবে রিপোটিতে থাকা সম্পূর্ণ প্রজেক্টটি ব্যবহার করতে পারেন।
রিপোটি ক্লোন করুন অথবা কোডটি ডাউনলোড করুন।
সেই ডিরেক্টরিতে যান যেখানে আপনি কোডল্যাবটি সংরক্ষণ করতে চান।
তারপর রিপোটি ক্লোন করুন অথবা কোডটি ডাউনলোড করুন:
git clone https://github.com/googlemaps-samples/codelab-navigation-101-ios-swift
আপনার কম্পিউটারে গিট ইনস্টল করা না থাকলে, কোডটি পেতে এই বাটনটিতে ক্লিক করুন:
আপনাকে যত দ্রুত সম্ভব কাজ শুরু করতে সাহায্য করার জন্য, রিপোটির ' Starter ফোল্ডারে কিছু স্টার্টার কোড রয়েছে যা আপনাকে এই কোডল্যাবটি অনুসরণ করতে সাহায্য করবে। এছাড়াও একটি সম্পূর্ণ Solution প্রজেক্টও রয়েছে, যদি আপনি যেকোনো সময় এগিয়ে যেতে বা আপনার অগ্রগতি পরীক্ষা করতে চান। সলিউশন প্রজেক্টটি ব্যবহার করার জন্য আপনাকে নিচের "Install using Cocoapods" নির্দেশাবলী অনুসরণ করতে হবে এবং তারপরে solution/Navigation SDK Codelab ফোল্ডার থেকে "pod update" কমান্ডটি চালাতে হবে।
একবার আপনি রিপোটি আপনার লোকাল মেশিনে ক্লোন করে নিলে, XCode ব্যবহার করে Starter ফোল্ডারটি একটি বিদ্যমান প্রজেক্ট হিসেবে খুলুন। প্রজেক্টটি বিল্ড এবং রান হচ্ছে কিনা তা পরীক্ষা করুন।
একটি ডিভাইস সংযুক্ত করুন অথবা XCode সিমুলেটর সেট আপ করুন।
৪. আপনার অ্যাপে নেভিগেশন এসডিকে যোগ করুন
একটি XCode প্রোজেক্টে Navigation SDK ইন্টিগ্রেট করার তিনটি উপায় আছে: এই কোডল্যাবটি CocoaPods ব্যবহার করে। Swift Package Manager ব্যবহার করে কীভাবে ইন্টিগ্রেট করতে হয়, অথবা SDK ডাউনলোড করে ম্যানুয়ালি ইনস্টল করতে হয়, সে সম্পর্কে বিস্তারিত জানতে Navigation SDK ডকুমেন্টেশনের "Create the Xcode project and install Navigation SDK " অংশটি দেখুন।
কোকোপডস ব্যবহার করে ইনস্টল করুন
আপনার কাছে যদি আগে থেকেই CocoaPods টুলটি না থাকে, তাহলে টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে macOS-এ এটি ইনস্টল করুন। বিস্তারিত জানতে, CocoaPods Getting Started গাইডটি দেখুন।
sudo gem install cocoapods
আপনার প্রজেক্ট ফোল্ডারের ভিতরে, starter/Navigation SDK Codelab ফোল্ডারে 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 সংরক্ষণ করুন।
একটি টার্মিনাল খুলুন এবং আপনার Podfile যেখানে সংরক্ষণ করেছেন সেই অবস্থানে ডিরেক্টরি পরিবর্তন করুন (এটি কোডল্যাব রিপো-এর 'starter/Navigation SDK Codelab' ফোল্ডারটি হওয়া উচিত)।
cd "<path-to-starter-project-folder>/Navigation SDK Codelab"
pod install কমান্ডটি চালান। এটি Podfile এ উল্লেখিত API-গুলো এবং এর সাথে প্রয়োজনীয় ডিপেন্ডেন্সিগুলো ইনস্টল করবে।
pod install
Xcode বন্ধ করুন এবং তারপর আপনার প্রোজেক্টের .xcworkspace ফাইলটি খুলে Xcode চালু করুন। এখন থেকে প্রোজেক্ট খোলার জন্য আপনাকে অবশ্যই .xcworkspace ফাইলটি ব্যবহার করতে হবে।
প্রজেক্ট স্ট্রাকচারে একটি Pods ডিরেক্টরি যোগ করা হয়েছে কিনা এবং তাতে "GoogleMaps" ও "GoogleNavigation" Pods আছে কিনা তা যাচাই করুন।

আপনার এপিআই কী যোগ করুন
আপনার AppDelegate.swift ফাইলে নিম্নলিখিতভাবে আপনার API কী যোগ করুন:
- নিম্নলিখিত ইম্পোর্ট স্টেটমেন্টগুলো যোগ করুন:
import GoogleMaps
import GoogleNavigation
- আপনার
application(_:didFinishLaunchingWithOptions:)মেথডে নিম্নলিখিতটি যোগ করুন:
GMSServices.provideAPIKey("YOUR_API_KEY")
পূর্ববর্তী ধাপে আপনার তৈরি করা API কী-টি দিয়ে 'YOUR_API_KEY' প্রতিস্থাপন করুন।
আপনার প্রজেক্টটি তৈরি করুন এবং যেকোনো ত্রুটি সংশোধন করুন।
৫. অ্যাপের অনুমতি কনফিগার করুন
নেভিগেশন এসডিকে রাস্তার অবস্থান ও ধাপে ধাপে দিকনির্দেশনা দেওয়ার জন্য জিপিএস সিগন্যালের ওপর নির্ভর করে, তাই আপনার অ্যাপকে ব্যবহারকারীর কাছে সুনির্দিষ্ট অবস্থানের ডেটা ব্যবহারের অনুমতি চাইতে হবে।
এটি করার জন্য, আপনাকে Xcode-এ আপনার অ্যাপের Info.plist-এ কিছু প্রোপার্টি যোগ করতে হবে, রানটাইমে ব্যবহারকারীর কাছ থেকে অনুমতি চাওয়ার জন্য আপনার অ্যাপে কিছু কোড যোগ করতে হবে, এবং অনুমতি না পাওয়া বা অবস্থান অনুপলব্ধ থাকার মতো যেকোনো ত্রুটি সামাল দিতে হবে।
Xcode-এ Info.plist ফাইলটি খুলুন। এটি দেখতে অনেকটা এইরকম হবে।

সুনির্দিষ্ট অবস্থানের অনুমতির জন্য অনুরোধ করুন
"ইনফরমেশন প্রপার্টি লিস্ট" সারির উপর আপনার মাউস পয়েন্টারটি নিয়ে যান যতক্ষণ না একটি "+" আইকন দেখা যায়, এর মাধ্যমে আপনি নতুন মান যোগ করতে পারেন। প্রস্তাবিত প্রপার্টির নামসহ একটি ডায়ালগ বক্স দেখতে "+" আইকনটিতে ক্লিক করুন, তবে মনে রাখবেন যে আপনি ম্যানুয়ালিও প্রপার্টি যোগ করতে পারেন।
Info.plist-এ নিম্নলিখিত প্রোপার্টি এবং ভ্যালুগুলো যোগ করুন:
সম্পত্তি | মূল্য |
গোপনীয়তা - অবস্থান সর্বদা এবং ব্যবহারের সময় ব্যবহারের বিবরণ | ধাপে ধাপে দিকনির্দেশনা দেওয়ার জন্য এই অ্যাপটির আপনার ডিভাইসের অবস্থান প্রয়োজন। |
গোপনীয়তা - ব্যবহারের সময় অবস্থান ব্যবহারের বিবরণ | ধাপে ধাপে দিকনির্দেশনা দেওয়ার জন্য এই অ্যাপটির আপনার ডিভাইসের অবস্থান প্রয়োজন। |
ব্যাকগ্রাউন্ড লোকেশন আপডেট করার অনুমতি দেয় | হ্যাঁ |
পটভূমির অবস্থানের অনুমতির জন্য অনুরোধ করুন
Info.plist-এ নিম্নলিখিত প্রোপার্টি এবং ভ্যালুগুলো যোগ করুন:
UIBackgroundModes > সারি যোগ করুন > Item 0: App registers for location updates (সাজেশনের ড্রপ-ডাউন তালিকা থেকে এই মানটি নির্বাচন করুন)
কাজ শেষ হলে Info.plist ফাইলটি দেখতে অনেকটা এইরকম হবে।

রানটাইমে অবস্থান অ্যাক্সেসের অনুরোধ করুন
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.")
}
}
অ্যাপটি বিল্ড করে রান করুন এবং পরীক্ষা করে দেখুন যে আপনাকে লোকেশন শেয়ার করতে ও নোটিফিকেশন চালু করতে বলা হচ্ছে কি না।

৬. একটি নেভিগেশন ইউজার ইন্টারফেস যোগ করুন
এই ধাপে আপনি একটি মানচিত্র যোগ করবেন এবং অবস্থান দেখানোর জন্য এটি কনফিগার করবেন। এরপর আপনি ব্যবহারকারীকে নেভিগেশন এসডিকে ব্যবহারের শর্তাবলীসহ একটি ডায়ালগ বক্স দেখাবেন।
আপনার অ্যাপে একটি মানচিত্র ভিউ যোগ করুন
আপনার ViewController-এ একটি GMSMapView ভেরিয়েবল ডিক্লেয়ার করতে এই লাইনটি যোগ করুন।
var mapView: GMSMapView!
ম্যাপটি ইনিশিয়ালাইজ করতে আপনার Viewcontroller.swift এর loadView() ফাংশনে নিম্নলিখিত কোডটি যোগ করুন।
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
আপনার অ্যাপটি তৈরি করে চালান, আপনি দক্ষিণ-পশ্চিম লন্ডনকে কেন্দ্র করে একটি মানচিত্র দেখতে পাবেন।

নেভিগেশন এসডিকে পণ্যের ব্যবহারের শর্তাবলী ডায়ালগটি দেখান
পূর্ববর্তী কোডের মতো একই loadView() মেথডে ViewController.swift এ নিম্নলিখিত কোডটি যোগ করুন। এটি নেভিগেশন SDK-এর ব্যবহারকারীদের ব্যবহারের শর্তাবলী দেখাবে। শর্তাবলী গ্রহণ না করলে, নেভিগেশন সক্রিয় হবে না।
// 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.
}
}
ডায়ালগটি দেখতে অ্যাপটি বিল্ড ও রান করুন।

৭. গুরুত্বপূর্ণ নেভিগেশন ইভেন্টগুলির জন্য লিসেনার যোগ করুন
এই ধাপে আপনাকে দেখানো হবে কীভাবে গুরুত্বপূর্ণ ইভেন্টগুলোর জন্য লিসেনার সেট আপ করতে হয়, যেমন গন্তব্যে পৌঁছানো বা ড্রাইভারের পথ পরিবর্তন করা।
এই ইভেন্টগুলো শোনার জন্য, আপনার ভিউ কন্ট্রোলারকে অবশ্যই 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.")
}
৮. একটি গন্তব্য নির্ধারণ করুন এবং দিকনির্দেশনা শুরু করুন।
এই বিভাগে আপনাকে শেখানো হবে কীভাবে গন্তব্য নির্ধারণ করতে হয় এবং নেভিগেশন নির্দেশনা শুরু করতে হয়।
ন্যাভিগেশন লজিকের জন্য একটি নতুন ফাংশন তৈরি করুন।
প্রথমে, আপনার ViewController এ startNav() নামে একটি নতুন ফাংশন যোগ করুন। এতে একটি গন্তব্য নির্ধারণ এবং নেভিগেশন শুরু করার লজিক থাকবে।
// 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 "OK" হয়, তাহলে mapView এর navigator অবজেক্টে isGuidanceActive=true সেট করে গাইডেন্স শুরু করুন। অন্যথায়, একটি ত্রুটি ঘটেছে তা দেখানোর জন্য একটি বিবৃতি প্রিন্ট করুন।
যদি ফেরত আসা GMSRouteStatus মান "OK" হয়, তাহলে 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 ত্রুটিগুলো আরও স্পষ্টভাবে সামলানো দরকারি, বিশেষ করে আপনার নতুন অ্যাপের প্রাথমিক সমস্যাগুলো ডিবাগ করার সময়। উদাহরণস্বরূপ, আপনার ডিবাগ সেটআপের কারণে শুরুতে আপনি লোকেশন পারমিশন, এপিআই কী বা "কোনো রুট পাওয়া যায়নি" এররগুলো বেশি পেতে পারেন, তাই এই এরর স্টেটগুলো সামলানো সহায়ক হতে পারে।
এমন কোড যোগ করুন যা এই নির্দিষ্ট ক্ষেত্রগুলো পরিচালনা করে এবং কনসোলে একটি বিবৃতি প্রিন্ট করে।
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()
এমন একটি পদ্ধতি যেখানে প্রথম ১০০০টি গন্তব্য ব্যবহারের পর চার্জ প্রযোজ্য হয়। আরও তথ্যের জন্য ব্যবহার ও বিলিং দেখুন।
৯. অভিনন্দন!
সাবাশ - আপনি আপনার গন্তব্যে পৌঁছে গেছেন!

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