সমস্যা সমাধান

ত্রুটি

কোনও ত্রুটির ক্ষেত্রে, একটি স্ট্যান্ডার্ড ফর্ম্যাট ত্রুটি প্রতিক্রিয়া বডি ফেরত পাঠানো হবে এবং HTTP স্থিতি কোডটি একটি ত্রুটি স্থিতিতে সেট করা হবে।

প্রতিক্রিয়াটিতে একটি অবজেক্ট রয়েছে যার একটি error অবজেক্ট রয়েছে যার মধ্যে নিম্নলিখিত কীগুলি রয়েছে:

  • code : এটি প্রতিক্রিয়ার HTTP স্থিতির মতোই।
  • message : ত্রুটির একটি সংক্ষিপ্ত বিবরণ।
  • status : ত্রুটির প্রকৃতি নির্দেশ করে এমন একটি স্ট্যাটাস কোড।

উদাহরণস্বরূপ, একটি অবৈধ placeId প্যারামিটার পাঠানো হলে নিম্নলিখিত ত্রুটিটি ফিরে আসবে:

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

সম্ভাব্য ত্রুটিগুলির মধ্যে রয়েছে:

কোড অবস্থা বার্তা সমস্যা সমাধান
৪০০ INVALID_ARGUMENT আপনার দেওয়া কীটি অবৈধ। আপনার API কীটি বৈধ নয় অথবা অনুরোধে অন্তর্ভুক্ত ছিল না। দয়া করে নিশ্চিত করুন যে আপনি সম্পূর্ণ কীটি অন্তর্ভুক্ত করেছেন এবং এই কীটির জন্য API সক্ষম করেছেন।
৪০০ INVALID_ARGUMENT "\"path\" প্যারামিটারে একটি অবৈধ মান রয়েছে: ☃" আপনার অনুরোধে অবৈধ আর্গুমেন্ট রয়েছে। এই ত্রুটির সবচেয়ে সম্ভাব্য কারণগুলি হল:
  • আপনার path প্যারামিটারের সাথে একটি সমস্যা।
    দয়া করে নিশ্চিত করুন যে আপনার কমপক্ষে ১ এবং ১০০ এর কম পয়েন্ট আছে। প্রতিটি পয়েন্ট কমা দ্বারা পৃথক করা সংখ্যার একটি জোড়া হওয়া উচিত, যেমন: 48.409114,-123.369158 । পয়েন্টগুলিকে একটি পাইপ দ্বারা পৃথক করা উচিত: '|'।
  • আপনার অনুরোধে একটি অবৈধ placeId অন্তর্ভুক্ত ছিল।
  • আপনার অনুরোধে placeId এবং path উভয়ই অন্তর্ভুক্ত ছিল। প্রতিটি অনুরোধের জন্য এই প্যারামিটারগুলির মধ্যে কেবল একটি নির্দিষ্ট করা যেতে পারে।

যদি কোনও রাস্তার জন্য placeId পাস করা হয় যা আর বিদ্যমান নেই, অথবা এমন কোনও জায়গার জন্য যা রাস্তা নয়, তাহলে এই ত্রুটিটি ফেরত পাঠানো হবে না।

৪০৩ PERMISSION_DENIED অনিবন্ধিত অনুরোধটি ব্লক করা হয়েছে। অনুগ্রহ করে Google Developers Console ব্যবহার করে সাইন আপ করুন। নিম্নলিখিত এক বা একাধিক কারণে অনুরোধটি প্রত্যাখ্যান করা হয়েছে:
  • API কীটি অনুপস্থিত অথবা অবৈধ।
  • আপনার অ্যাকাউন্টে বিলিং সক্ষম করা হয়নি।
  • স্ব-আরোপিত ব্যবহারের সীমা অতিক্রম করা হয়েছে।
  • প্রদত্ত অর্থপ্রদানের পদ্ধতিটি আর বৈধ নয় (উদাহরণস্বরূপ, একটি ক্রেডিট কার্ডের মেয়াদ শেষ হয়ে গেছে)।

গুগল ম্যাপস প্ল্যাটফর্ম পণ্য ব্যবহার করার জন্য, আপনার অ্যাকাউন্টে বিলিং সক্ষম করতে হবে এবং সমস্ত অনুরোধে একটি বৈধ API কী অন্তর্ভুক্ত থাকতে হবে। এটি ঠিক করতে, নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করুন:

৪০৪ NOT_FOUND এই পরিষেবার জন্য HTTPS প্রয়োজন। নিশ্চিত করুন যে আপনি http ://roads.googleapis.com/ নয় বরং https ://roads.googleapis.com/ এ অনুরোধ পাঠাচ্ছেন।
৪২৯ RESOURCE_EXHAUSTED প্রকল্পের অনুরোধের সীমা অতিক্রম করার কারণে অনুরোধটি স্থগিত করা হয়েছিল। আপনি Google Cloud Platform Console-এ কনফিগার করা অনুরোধের সীমা অতিক্রম করেছেন। এই সীমা সাধারণত প্রতিদিন অনুরোধ, প্রতি ১০০ সেকেন্ডে অনুরোধ এবং প্রতি ১০০ সেকেন্ডে অনুরোধ হিসেবে সেট করা হয়। এই সীমা এমনভাবে কনফিগার করা উচিত যাতে একক বা ছোট ব্যবহারকারীদের আপনার দৈনিক কোটা শেষ না হয়, একই সাথে সমস্ত ব্যবহারকারীকে যুক্তিসঙ্গত অ্যাক্সেসের অনুমতি দেওয়া হয়। এই সীমাগুলি কনফিগার করতে API ব্যবহার ক্যাপিং দেখুন।

সূচকীয় ব্যাকঅফ

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

সমস্যা সমাধানের প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

বাস্তবায়ন সংক্রান্ত সমস্যা

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

সাধারণ সমস্যা

কিছু পয়েন্ট স্ন্যাপ করা হচ্ছে না, অথবা আমার স্ন্যাপ করা পাথগুলিতে ফাঁক আছে। আমি কীভাবে এটি সংশোধন করতে পারি?
  • যদি আপনি নির্দিষ্ট সময় অন্তর অন্তর আপনার পয়েন্টগুলির নমুনা নিচ্ছেন, তাহলে নিশ্চিত করুন যে আপনার পয়েন্টগুলি সংক্ষিপ্ত বিরতিতে (প্রতি ১-১০ সেকেন্ড) নমুনা করা হচ্ছে। যদি দীর্ঘ বিরতি ব্যবহার করা হয় (উদাহরণস্বরূপ ৬০ সেকেন্ড), তাহলে স্ন্যাপ-টু-রোড অ্যালগরিদম পর্যাপ্ত নির্ভুলতার সাথে ভ্রমণ করা রাস্তাগুলি নির্ধারণ করতে সক্ষম নাও হতে পারে।
  • যদি আপনি ম্যাপে ম্যানুয়ালি ক্লিক করে পয়েন্ট তৈরি করেন, তাহলে স্ন্যাপিং অ্যালগরিদম ভালোভাবে পরিচালনা করতে পারে না এমন কিছু পয়েন্ট বা স্পার্স পয়েন্ট দিয়ে পাথ তৈরি করা খুব সহজ। স্ন্যাপিং অ্যালগরিদম কাছাকাছি পয়েন্টের জন্য সবচেয়ে ভালো কাজ করে। স্ন্যাপ টু রোডস ডেমো ব্যবহার করে দেখুন অথবা আপনার পাথ পরীক্ষা করার জন্য রোডস ইন্সপেক্টর ব্যবহার করুন।
    জুম ইন করার সময় আমার ভাঙা রাস্তাগুলি কেন খাঁজকাটা বা রাস্তা থেকে কিছুটা দূরে থাকে?
    • স্ন্যাপ করা অক্ষাংশ/দ্রাঘিমাংশ জোড়া প্রদর্শনের আগে আপনি কি তাদের নির্ভুলতা কেটে ফেলছেন? স্ন্যাপ করা অক্ষাংশ/দ্রাঘিমাংশ জোড়া ৭ দশমিক বিন্দুর কম নির্ভুলতায় সংরক্ষণ করলে মানচিত্রে স্ন্যাপ করা পথ প্রদর্শিত হলে নির্ভুলতা ত্রুটি দেখা দেয়।
    • আপনি কি এনকোডেড পলিলাইন ব্যবহার করছেন? এনকোডেড পলিলাইনগুলি অক্ষাংশ/দ্রাঘিমাংশ জোড়াগুলিকে ৫ দশমিক স্থানে ছোট করে, যা কয়েক মিটারের ত্রুটির পরিচয় দেয়, যার ফলে উচ্চ জুম স্তরে লাইনগুলি খাঁজকাটা বা রাস্তা থেকে সামান্য দূরে থাকে।

    যদি উপরের কোনওটিই সত্য না হয়, তাহলে হয়তো ম্যাপ টাইলগুলি সম্প্রতি আপডেট করা হয়েছে, যার ফলে স্ন্যাপিংয়ের জন্য ব্যবহৃত রোড ইনডেক্সের সাথে সেগুলি সিঙ্ক্রোনাইজ হয়ে গেছে। যদি আপনার কয়েকটি প্রশ্নেরই কোনও প্রভাব পড়ে, তাহলে সম্ভবত এটিই কারণ হতে পারে। যেহেতু গুগল ম্যাপ নিয়মিত আপডেট করা হয়, তাই এটি মাঝে মাঝে ঘটতে পারে এবং আপনি যদি নিয়মিতভাবে ম্যাপে পুরানো পাথগুলি দেখেন (উদাহরণস্বরূপ, বেশ কয়েক সপ্তাহ আগে স্ন্যাপ করা পাথগুলি) তবে এটি আরও ঘন ঘন ঘটতে পারে। সর্বোত্তম ভিজ্যুয়ালাইজেশনের জন্য, ম্যাপে দেখানোর ঠিক আগে আপনার পুরানো পাথগুলি পুনরায় স্ন্যাপ করা উচিত, যাতে ম্যাপ টাইল এবং স্ন্যাপিংয়ের জন্য ব্যবহৃত রোড ইনডেক্সের মধ্যে অসঙ্গতি কমানো যায়।

    রোড X-এর গতিসীমা ভুলভাবে দেখানোর কারণ কী হতে পারে?
    গতিসীমা বিভিন্ন উৎস থেকে আসে যা নির্ভুলতা এবং কভারেজের ক্ষেত্রে ভিন্ন। যদি আপনি কোনও প্যাটার্ন, উদাহরণস্বরূপ কোনও নির্দিষ্ট রাস্তার ধরণের জন্য বা কোনও নির্দিষ্ট এলাকার জন্য গতিসীমা ধারাবাহিকভাবে ভুল দেখতে পান, তাহলে অনুগ্রহ করে নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করে আমাদের জানান:
    1. আপনার ডেস্কটপ কম্পিউটারে গুগল ম্যাপস অথবা অ্যান্ড্রয়েডের জন্য গুগল ম্যাপস অ্যাপ খুলুন।
    2. বাম দিকের মেনু খুলুন।
    3. প্রতিক্রিয়া পাঠান নির্বাচন করুন। দ্রষ্টব্য: আপনাকে লগ ইন করার জন্য অনুরোধ করা হতে পারে।
    4. মানচিত্র সম্পাদনা করুন নির্বাচন করুন।
    5. আপনি যে রাস্তার অংশটি সম্পাদনা করতে চান তা নির্বাচন করুন।
    6. পরবর্তী নির্বাচন করুন।
    7. "অন্যান্য" ক্ষেত্রে, নির্দেশ করুন যে সেই রাস্তার জন্য গতিসীমা ভুল।
    8. জমা দিন নির্বাচন করুন।
    আপনি এখানে অন্যান্য সমস্যাগুলিও রিপোর্ট করতে পারেন (উদাহরণস্বরূপ, যদি রাস্তাটির নাম ভুল থাকে, ভুলভাবে আঁকা থাকে, অথবা বন্ধ থাকে, অথবা ব্যক্তিগত থাকে)।
    আমার ভাঙা পথ কেন রাস্তা অনুসরণ করার পরিবর্তে কোণ কেটে ফেলছে?
    এই সমস্যাটি সমাধানের জন্য, নিম্নলিখিতগুলি পরীক্ষা করুন:
    • interpolate প্যারামিটারটি true তে সেট করা আছে কিনা তা নিশ্চিত করুন।
    • আপনার মূল ডেটা পয়েন্টগুলি পর্যাপ্ত বিরতিতে (প্রতি ১-১০ সেকেন্ড অন্তর) নমুনা করা হয়েছে কিনা তা পরীক্ষা করুন।
    গতিসীমা পরিবর্তন না করেই কেন আমি অনেক রাস্তার অংশ ভেঙে ফেলার পথে ফেরত পাচ্ছি?
    যখন interpolate প্যারামিটারটি true তে সেট করা থাকে, তখন স্ন্যাপ-টু-রোড কোয়েরি একটি পলিলাইন ফেরত পাঠায় যা কোণ, বাঁক এবং গোলচত্বরের চারপাশে রাস্তা অনুসরণ করে। যদি রাস্তাটি বাঁক নেয়, তাহলে গতিসীমা পরিবর্তন না হলেও একাধিক রাস্তার অংশ ফেরত পাঠানো হয়, যাতে রাস্তার জ্যামিতি ঘনিষ্ঠভাবে অনুসরণ করে এমন একটি পলিলাইন তৈরি করা যায়।