সচরাচর জিজ্ঞাস্য

পণ্যের বিবরণ

ইস্যু

নেটওয়ার্ক

উপাত্ত

UI কাস্টমাইজেশন

রাউটিং

সিমুলেটর

কর্মপ্রবাহ

গতিশীলতা পরিষেবা

পণ্যের বিবরণ

আপনার অ্যাপটিকে অবশ্যই নেভিগেশন SDK পরিষেবার শর্তাবলী নোটিশ সহ একটি ডায়ালগ বাস্তবায়ন করতে হবে যা প্রতিটি ড্রাইভারকে গ্রহণ করতে হবে। এই ডায়ালগটি ড্রাইভারকে পরিষেবার শর্তাবলীর সাথে একমত হওয়ার সুযোগ দেয়। নেভিগেশন SDK-তে শর্তাবলীর একটি টেক্সট ফাইল সরবরাহ করা হয়।
অ্যান্ড্রয়েডে, শর্তাবলী সম্বলিত ডায়ালগটি প্রদর্শন করতে NavigationApi.showTermsAndConditionsDialog পদ্ধতি ব্যবহার করুন।
iOS-এ, GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName কল করুন।
গুগল ম্যাপস মোবাইল দ্বারা সমর্থিত যেকোনো ভাষা স্বয়ংক্রিয়ভাবে নেভিগেশন SDK-এর জন্য উপলব্ধ। একটি ডিভাইসের একটি ডিফল্ট সিস্টেম ভাষা থাকে এবং একটি অ্যাপ সেই সেটিং পরিবর্তন করতে পারে না; তবে, অ্যাপটির ৭০টিরও বেশি ভাষায় অ্যাক্সেস রয়েছে।

হ্যাঁ। অ্যান্ড্রয়েডে, একবার চালু হয়ে গেলে, LocationListener ব্যাকগ্রাউন্ডে চলতে থাকে। আপনার অ্যাপটি পজিশন স্ন্যাপ করতে থাকে এবং বিয়ারিং বজায় রাখে।

iOS-এ, ব্যাকগ্রাউন্ডে অবস্থান এবং বিয়ারিংয়ের অবস্থান আপডেট পেতে, রোড স্ন্যাপিং বাস্তবায়ন করুন এবং allowsBackgroundLocationUpdates কে YES এ সেট করুন।

হ্যাঁ। যখন কোনও রুট তৈরি বা পরিবর্তন করা হয়, তখন RouteChangeListener পলিলাইন প্রদান করে।

না, নেভিগেশন SDK এর জন্য ডিভাইসে Google Maps Mobile ইনস্টল করার প্রয়োজন নেই।
না, নেভিগেশন SDK এই মুহূর্তে এই কার্যকারিতা প্রদান করে না।
হ্যাঁ। ট্র্যাফিকের দিকনির্দেশনা উপলব্ধ এবং ডিফল্টরূপে প্রদর্শিত হয়।

ইস্যু

Xcode 12 তে, সিমুলেটরের জন্য অ্যাপগুলি সঠিকভাবে তৈরি হয় না। আমি এটি কিভাবে ঠিক করতে পারি?

এই সমস্যাটি সমাধানের জন্য, আপনার Xcode প্রজেক্ট বিল্ড সেটিংস খুলুন এবং শুধুমাত্র "iOS সিমুলেটর" বিল্ডের জন্য Excluded Architecturesarm64 যোগ করুন।

আরও তথ্যের জন্য, নিম্নলিখিত StackOverflow থ্রেডটি দেখুন।

GMSMapView লোড হচ্ছে না।

যদি GMSMapView লোড না হয়:

  • ক্লাউড কনসোলে NavSDK সক্রিয় আছে কিনা তা পরীক্ষা করুন।
  • যদি Nav SDK ইনস্টল করা থাকে, কিন্তু আপনার প্রকল্প Nav SDK API ব্যবহার না করে, তাহলে এটি আপনার বাইনারি থেকে সরিয়ে ফেলুন।

নেটওয়ার্ক

ন্যাভিগেশন SDK কীভাবে দুর্বল সংযোগ পরিচালনা করে?
নেভিগেশন SDK প্রতিটি যাত্রার রুট আগে থেকে ক্যাশে করে। আগে থেকে ক্যাশে করা তথ্যের মধ্যে ১৫-২০ মিনিটের জন্য রাউটিং তথ্য এবং ড্রাইভার রুট থেকে বিচ্যুত হলে বিকল্প রুট অন্তর্ভুক্ত থাকে। নেভিগেশন SDK ডিভাইসের GPS এবং সেন্সর ব্যবহার করে অবস্থান আনুমানিকভাবে নির্ধারণ করে।
অফলাইন মোড কি উপলব্ধ?
না, নেভিগেশন SDK এই মুহূর্তে অফলাইন মোড অফার করে না; তবে, SDK ভ্রমণের জন্য আগে থেকে ক্যাশে করা তথ্য প্রদান করে।

উপাত্ত

রুট শুরু করার আগে কি আমি যাত্রার সমস্ত স্টপ/গন্তব্যস্থল পুনরুদ্ধার করতে পারি?

হ্যাঁ। অ্যান্ড্রয়েডে, কোনও রুটের দিকনির্দেশনা পেতে, Navigator.getRouteSegments() কল করুন।

iOS-এ, GMSNavigator.routeLegs(read) কল করুন।

রুটের শুরুতে কি টার্ন-বাই-টার্ন রুট নির্দেশিকা পাওয়া যায়?
হ্যাঁ। নেভিগেশন SDK রুট বিভাগের একটি তালিকা প্রদান করে। এছাড়াও, ড্রাইভার প্রতিটি কৌশল দেখতে হেডারের দিকনির্দেশ কার্ডটি সোয়াইপ করতে পারে।
অ্যাপ ব্যবহারকারীদের কাছে ETA কীভাবে জানানো হয়?

অ্যান্ড্রয়েডে, অ্যাপ ব্যবহারকারীদের ETA তথ্য দেওয়ার জন্য নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

  1. Navigator.getTimeAndDistanceList() ব্যবহার করে সকল ওয়েপয়েন্টের জন্য সময় এবং দূরত্ব পুনরুদ্ধার করুন।
  2. ড্রাইভার ETA-এর মতো এই তথ্য ক্লায়েন্ট অ্যাপ্লিকেশনে ফরোয়ার্ড করুন।

iOS-এ, অ্যাপ ব্যবহারকারীদের ETA তথ্য দিতে এই ধাপগুলি ব্যবহার করুন:

  1. Navigator.getRouteSegments() ব্যবহার করে যাত্রার পা পুনরুদ্ধার করুন।
  2. প্রতিটি যাত্রার জন্য GMSNavigator.timeToNextDestination এ কল করুন।
  3. ড্রাইভার ETA-এর মতো ক্লায়েন্ট অ্যাপ্লিকেশনে সময়ের তথ্য ফরোয়ার্ড করুন।
যদি নেভিগেশন ফোরগ্রাউন্ডে না থাকে, তাহলে কি RoadSnappedLocationProvider ব্যবহার করে ড্রাইভারের বর্তমান স্ন্যাপ করা অবস্থান জানা যাবে?

হ্যাঁ। অ্যান্ড্রয়েডে, RoadSnappedLocationProvider ডিফল্টরূপে ব্যাকগ্রাউন্ডে চলে।

iOS-এ, ব্যাকগ্রাউন্ডে নেভিগেশন চালু রাখতে, GMSRoadSnappedLocationProviderListener এর জন্য লিসেনার প্রয়োগ করুন এবং allowsBackgroundLocationUpdates প্রপার্টিটিকে TRUE এ সেট করুন।

নেভিগেশন SDK কি জিওফেন্সিং সমর্থন করে?

না। নেভিগেশনের প্রেক্ষাপটে, জিওফেন্সের তুলনায় remainingTimeOrdistanceChangeListener একটি সুবিধা রয়েছে। জিওফেন্সটি রাস্তার জ্যামিতি বিবেচনা নাও করতে পারে এবং ড্রাইভার যে বিন্দুতে নেভিগেট করছে তার উপর কেন্দ্রীভূত নাও হতে পারে।

আপনি remainingTimeOrdistanceChangeListener ব্যবহার করে এই কার্যকারিতাটি আনুমানিক করতে পারেন।

  1. কলব্যাকের ফ্রিকোয়েন্সি নির্ধারণের জন্য থ্রেশহোল্ড সেট করুন।
  2. গন্তব্যে পৌঁছানোর বাকি দূরত্ব পরীক্ষা করুন।

উদাহরণস্বরূপ, যদি আপনি ১০০ মিটারে থ্রেশহোল্ড সেট করেন, তাহলে গন্তব্যের দূরত্ব ১০০ মিটার পরিবর্তিত হলে আপনি একটি কলব্যাক পাবেন। দূরত্ব কমার সাথে সাথে, আপনি এই থ্রেশহোল্ডটিকে আরও ছোট মান দিয়ে আপডেট করতে পারেন এবং আরও ঘন ঘন কলব্যাক পেতে পারেন। তারপর, আপনি পিকআপ/ড্রপ-অফ অবস্থানের যথেষ্ট কাছাকাছি আছেন কিনা তা নির্ধারণ করতে অবশিষ্ট দূরত্বটি পরীক্ষা করুন।

iOS-এ, বিজ্ঞপ্তিগুলির মধ্যে দূরত্ব পরিচালনা করতে শ্রোতা GMSNavigatorListener.didUpdateRemainingDistance প্রয়োগ করুন।

নেভিগেশন অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন আমি কি বিজ্ঞপ্তিগুলি অক্ষম করতে পারি?

হ্যাঁ। অ্যান্ড্রয়েডে, বিজ্ঞপ্তি নিয়ন্ত্রণ করতে Navigator.setHeadsUpNotificationEnabled ব্যবহার করুন। এই পদ্ধতিতে একটি বুলিয়ান আর্গুমেন্ট রয়েছে। FALSE বিজ্ঞপ্তি অক্ষম করে; TRUE বিজ্ঞপ্তি সক্ষম করে।

iOS-এ, GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates NO তে সেট করে রোড-স্ন্যাপ করা লোকেশনের জন্য ব্যাকগ্রাউন্ড নোটিফিকেশন বন্ধ করুন।

অন্যান্য অবস্থানের বিজ্ঞপ্তিগুলির জন্য ব্যাকগ্রাউন্ড প্রক্রিয়াকরণ অক্ষম করতে, GMSNavigator.sendsBackgroundNotifications(NO) এ কল করুন।

UI কাস্টমাইজেশন

আমি কি সেরা রুট বিকল্পটি রঙিন কোড করতে পারি?
না। নির্দিষ্ট রুটের রঙিন কোডিং বিকল্পটি এই মুহূর্তে সমর্থিত নয়।
নেভিগেশন SDK কি চূড়ান্ত গন্তব্যের জন্য ETA দেখাতে পারে?

হ্যাঁ। অ্যান্ড্রয়েডে, নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করুন:

  1. Navigator.getTimeAndDistanceList() ব্যবহার করে সকল ওয়েপয়েন্টের জন্য সময় এবং দূরত্ব পুনরুদ্ধার করুন।
  2. NavigationFragment.setEtaCardEnabled(false) ব্যবহার করে বর্তমান ওয়েপয়েন্টের ETA লুকান।
  3. চূড়ান্ত গন্তব্য ETA রেন্ডার করুন।

iOS-এ, নিম্নলিখিতগুলি ব্যবহার করুন:

  1. GMSNavigator.routeLegs(read) এ কল করুন।
  2. শেষ ধাপে, GMSNavigator.timeToNextDestination এ কল করুন।
  3. MSMapView.settings.navigationFooterEnabled=NO ব্যবহার করে FALSE-তে বর্তমান ওয়েপয়েন্টের ETA লুকান।
  4. চূড়ান্ত গন্তব্য ETA রেন্ডার করুন।
আমি কিভাবে ETA আপডেট লুকাতে পারি?

আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে ETA কার্ডগুলি অক্ষম করতে পারেন:

  • অ্যান্ড্রয়েডে, navigationView.setEtaCardEnabled(false) ব্যবহার করুন।
  • iOS-এ, GMSMapView.settings.navigationFooterEnabled=NO ব্যবহার করুন।
হেডার এবং ফুটার কার্ডের জন্য কোন UI কাস্টমাইজেশন উপলব্ধ?

অ্যান্ড্রয়েডে, আপনি ব্যাকগ্রাউন্ড কালার স্টাইলিং সেট করতে StylingOptions ব্যবহার করেন। হেডার এবং ফুটার লুকাতে বা দেখানোর জন্য, NavigationFragment এর setHeaderEnabled এবং setFooterEnabled সদস্য ফাংশন ব্যবহার করুন।

iOS-এ, ব্যাকগ্রাউন্ড কালার স্টাইলিং সেট করতে GMSMapView.settings.navigationHeaderPrimaryBackgroundColor ব্যবহার করুন। হেডার এবং ফুটার লুকাতে বা দেখানোর জন্য navigationFooterEnabled এবং GMSUISettings এর navigationHeaderEnabled বৈশিষ্ট্য ব্যবহার করুন।

রাউটিং

আমি কি ড্রাইভারকে একটি নির্দিষ্ট রুট দিতে পারি নাকি বিকল্প রুটগুলি সরিয়ে দিতে পারি?
না। ডিফল্টভাবে, একাধিক রুট প্রদান করা হয় এবং দ্রুততম রুটটি অগ্রাধিকার পায়। আপনি আপনার অনুরোধে "হাইওয়ে এবং টোল এড়িয়ে চলুন" এর মতো পছন্দগুলি যোগ করে ডিফল্ট রুটকে প্রভাবিত করতে পারেন। ওয়েপয়েন্ট যোগ করলেও রুটটি প্রভাবিত হয়।
আমি কি অ্যাপ ব্যবহারকারীকে গন্তব্যের জন্য ডিফল্ট গন্তব্য অবস্থানের চেয়ে আলাদা লেবেল দেখাতে পারি?

হ্যাঁ। অ্যান্ড্রয়েডে, গন্তব্য এবং অক্ষাংশ/দ্রাঘিমাংশের জন্য একটি কাস্টম শিরোনাম সহ একটি Marker তৈরি করুন। নেভিগেশন SDK NavigationMap এ কাস্টম শিরোনাম এবং স্থানাঙ্ক প্রদর্শন করে।

iOS-এ, আপনি গন্তব্যের জন্য একটি GMSMarker তৈরি এবং প্রদর্শন করেন।

আমি কি একটি নির্ধারিত পথ থেকে বিচ্যুতি ট্র্যাক করতে নেভিগেশন SDK ব্যবহার করতে পারি?

হ্যাঁ। অ্যান্ড্রয়েডে, কোনও রুট পরিবর্তন হলে বা কোনও নতুন রুট সুপারিশ করা হলে বিজ্ঞপ্তি পেতে Navigator.setRouteChangedListener ব্যবহার করুন:

  1. Navigator.setRouteChangedListener পদ্ধতি ব্যবহার করে রুট ধরে ডিভাইসের অবস্থান পরীক্ষা করে এমন একটি শ্রোতা নিবন্ধন করুন।
  2. কলব্যাক ইভেন্ট হ্যান্ডলারে কোড যোগ করুন, onRouteChanged :
    • অ্যাপ ব্যবহারকারীকে আপডেট করা ETA এবং দূরত্বের তথ্য সহ একটি বার্তা পাঠান।
    • ডিভাইসের অবস্থান ট্র্যাক করুন।
    • [ঐচ্ছিক] ড্রাইভার নির্ধারিত রুট থেকে সরে গেলে আপনার অ্যাপের প্রয়োজনীয় অন্যান্য কার্যকারিতা যোগ করুন।

iOS-এ, GMSNavigator এবং এর শ্রোতাদের ব্যবহার করে কোনও রুট পরিবর্তন হলে বা কোনও নতুন রুটের সুপারিশ করা হলে বিজ্ঞপ্তি পান:

  1. ম্যাপের ভিউ কন্ট্রোলারে, GMSNavigatorListener প্রোটোকল এবং GMSRoadSnappedLocationProviderListener প্রোটোকল প্রয়োগ করুন।
  2. GMSNavigatorListener.navigatorDidChangeRoute প্রয়োগ করুন।
  3. GMSNavigator এর routeLegs এবং currentRouteLeg বৈশিষ্ট্য ব্যবহার করে নতুন রুট অ্যাক্সেস করুন।
চালক কি রুটটি সম্পূর্ণ না করেই নেভিগেশন থেকে বেরিয়ে যেতে পারবেন?

হ্যাঁ। অ্যান্ড্রয়েডে, নেভিগেশন বন্ধ করতে Navigator.stopGuidance() পদ্ধতিটি কল করুন।

iOS-এ, GMSNavigator.clearDestinations কল করুন।

সিমুলেটর

সিমুলেটর কি রুট পরিবর্তন সমর্থন করে?

হ্যাঁ। অ্যান্ড্রয়েডে, রুট পরিবর্তন সহ একটি যাত্রা অনুকরণ করতে simulateLocationsAlongNewRoute কল করুন। simulateLocationsAlongExistingRoute পদ্ধতিটি বিদ্যমান রুটের পরিবর্তনগুলিকে উপেক্ষা করে।

iOS-এ, GMSLocationSimulator.simulateAlongNewRouteToDestinations ব্যবহার করে এমন একটি যাত্রা অনুকরণ করুন যাতে রুট পরিবর্তন অন্তর্ভুক্ত থাকে। যদি আপনি কোনও রুট পরিবর্তনের পূর্বাভাস না পান, তাহলে আপনি GMSLocationSimulator.simulateLocationsAlongExistingRoute অথবা GMSLocationSimulator.simulateAlongNewRouteToDestinations ব্যবহার করতে পারেন।

কর্মপ্রবাহ

নেভিগেশনের অংশ আছে এমন কোনও কার্যকলাপ বন্ধ করার পরে আমি কীভাবে বিজ্ঞপ্তিটি খারিজ করব?

যখন কার্যকলাপ বন্ধ থাকে, তখন নেভিগেশনের সময় নেভিগেশন বিজ্ঞপ্তি দৃশ্যমান থাকে। যখন গাড়িটি গন্তব্যে পৌঁছায়, তখন নেভিগেশন বন্ধ হয়ে যায় এবং বিজ্ঞপ্তিটি অদৃশ্য হয়ে যায়।

বিজ্ঞপ্তিতে ক্লিক পরিচালনা করতে, Navigator.startGuidance(intent resumeIntent) ব্যবহার করুন। অ্যাপ ব্যবহারকারী যখন বিজ্ঞপ্তিতে ক্লিক করেন তখন resume intent সক্রিয় হয়। সাধারণত, Navigator.startguidance(getIntent()) প্রধান Activity থেকে কল করা হয়, যা অ্যাপ ব্যবহারকারী যখন বিজ্ঞপ্তিতে ক্লিক করেন তখন Activity প্রত্যাহার করে।

গতিশীলতা পরিষেবা

মোবিলিটি সার্ভিসেস গ্রাহকদের জন্য নেভিগেশন SDK ব্যবহার কীভাবে আলাদা?

Google Maps প্ল্যাটফর্ম মোবিলিটি সার্ভিসেস পরিবহন এবং লজিস্টিক ব্যবসার জন্য এন্টারপ্রাইজ চাহিদা পূরণে সহায়তা করার জন্য API এবং SDK এর একটি সংগ্রহ অফার করে। মোবিলিটি সার্ভিসেস গ্রাহকদের জন্য, নেভিগেশন SDK সাধারণত রুট অপ্টিমাইজেশন, প্রেরণ, টাস্ক ট্র্যাকিং, ফ্লিট অ্যানালিটিক্স এবং আরও অনেক কিছুর জন্য সম্পর্কিত পরিষেবাগুলির সাথে একত্রে ব্যবহৃত হয়। মোবিলিটি সার্ভিসেস গ্রাহকদের জন্য নেভিগেশন SDK-এর বিলও আলাদাভাবে করা হয় । আরও তথ্যের জন্য, মোবিলিটি সার্ভিসেস ডকুমেন্টেশন দেখুন।

মোবিলিটি পণ্যগুলি শুধুমাত্র নির্বাচিত গ্রাহকদের জন্য উপলব্ধ। আরও তথ্যের জন্য আপনার বিক্রয় প্রতিনিধির সাথে যোগাযোগ করুন।

আমি কিভাবে বুঝব যে আমি একজন মোবিলিটি সার্ভিসেস গ্রাহক?
যদি আপনি নিশ্চিত না হন যে আপনি Mobility Services গ্রাহক হিসেবে Navigation SDK বাস্তবায়ন করছেন কিনা, তাহলে আপনার কোডে ReportBillableEvent কলটি খুঁজুন। শুধুমাত্র Mobility Services গ্রাহকদের ReportBillableEvent পদ্ধতিতে কল করা উচিত।

মোবিলিটি সার্ভিসেস গ্রাহকদের জন্য নেভিগেশন SDK কীভাবে বিল করা হয়?
মোবিলিটি সার্ভিসেস গ্রাহকদের জন্য, নেভিগেশন SDK-এর বিলিং এবং মূল্য নির্ধারণ Google Maps প্ল্যাটফর্মের সাথে আপনার পরিষেবা চুক্তির উপর নির্ভর করে। আপনার মোবিলিটি সার্ভিসেস বাস্তবায়ন সঠিকভাবে বিল করা হচ্ছে কিনা তা যাচাই করার জন্য বিলিং বৈধতা দেখুন। মোবিলিটি সার্ভিসেস বিলিং সম্পর্কে অতিরিক্ত তথ্যের জন্য, আপনার বিক্রয় প্রতিনিধির সাথে যোগাযোগ করুন।

কোন নেভিগেশন SDK API গুলি শুধুমাত্র মোবিলিটি সার্ভিসেস গ্রাহকদের দ্বারা ব্যবহার করা উচিত?

নেভিগেশন SDK-তে বেশ কিছু API আছে যেগুলো শুধুমাত্র Mobility Services গ্রাহকদের ব্যবহারের জন্য তৈরি, যাদের প্রতি লেনদেনের ভিত্তিতে Google বিল করে। আপনি যদি Mobility Services গ্রাহক না হন, তাহলে নিম্নলিখিত পদ্ধতিগুলি নো-অপস:

আমি যদি মোবিলিটি সার্ভিসেসের গ্রাহক হই, তাহলে কি আমি নেভিগেশন SDK-এর নন-মোবিলিটি সার্ভিসেস বাস্তবায়নও ব্যবহার করতে পারি?

হ্যাঁ, মোবিলিটি সার্ভিসেস গ্রাহকরা নেভিগেশন SDK-এর মোবিলিটি সার্ভিসেস এবং নন-মোবিলিটি সার্ভিসেস উভয় বাস্তবায়ন ব্যবহার করতে পারবেন। তবে, আপনি একবারে একটি অ্যাপে কেবল একটি বাস্তবায়ন প্রকার ব্যবহার করতে পারবেন। আপনার মোবিলিটি সার্ভিসেস বাস্তবায়নের সাথে ব্যবহার করা থেকে আলাদা একটি নতুন Google ক্লাউড প্রকল্প, বিলিং অ্যাকাউন্ট এবং API কী তৈরি করতে হবে। আরও তথ্যের জন্য, নেভিগেশন SDK সেটআপ ওভারভিউ দেখুন।

নেভিগেশন SDK-এর নন-মোবিলিটি সার্ভিসেস বাস্তবায়ন ব্যবহার সম্পর্কে আরও তথ্যের জন্য, যার মধ্যে একটি অ্যাপকে এক বাস্তবায়ন প্রকার থেকে অন্যটিতে স্থানান্তর করা অন্তর্ভুক্ত, আপনার Google অ্যাকাউন্ট প্রতিনিধির সাথে যোগাযোগ করুন।

দ্রষ্টব্য: আপনি যদি মোবিলিটি সার্ভিসেসের গ্রাহক না হন এবং API এবং SDK-এর মোবিলিটি সার্ভিসেস সংগ্রহ সম্পর্কে আরও জানতে আগ্রহী হন, তাহলে Google Maps Platform sales-এর সাথে যোগাযোগ করুন