জিওকোডিং হল ঠিকানা (যেমন, রাস্তার ঠিকানা) থেকে ভৌগোলিক কোঅর্ডিনেট (অক্ষাংশ ও দ্রাঘিমাংশ) কনভার্ট করার প্রসেস যা আপনি ম্যাপে মার্কার প্লেস করতে বা ম্যাপ পজিশন করতে ব্যবহার করতে পারেন। এই ডকুমেন্টের মূল উদ্দেশ্য হল ঠিকানা জিওকোড করার সময় কোন কোন বিষয় বিবেচনা করতে হবে তা স্পষ্ট করা। এটি বর্ণনা করে যে কখন Geocoding API ব্যবহার করা সবচেয়ে ভাল এবং কখন Places API Place Autocomplete পরিষেবা ব্যবহার করা লাভজনক।
সাধারণত, সম্পূর্ণ ঠিকানা জিওকোডিং করার সময় (যেমন, "48 Pirrama Rd, Pyrmont, NSW, Australia") Geocoding API ব্যবহার করুন। অস্পষ্ট (অসম্পূর্ণ) ঠিকানা জিওকোড করার সময় অথবা লেটেন্সি-সেনসিটিভ অ্যাপ্লিকেশনের জন্য, যেমন ব্যবহারকারীর ইনপুটের উত্তর দেওয়ার সময়, Places API Place Autocomplete পরিষেবা ব্যবহার করুন।
ব্যবহারের উদাহরণ ও API সংক্রান্ত সাজেশন
| ব্যবহার ও API সংক্রান্ত সাজেশন | |
|---|---|
| ব্যবহারকারীর ইনপুটের রিয়েল-টাইম উত্তর দেওয়া (এর মধ্যে ব্যবহারকারীর লেখা অস্পষ্ট, অসম্পূর্ণ, ভুল ফর্ম্যাট করা বা ভুল বানান সহ ঠিকানা অন্তর্ভুক্ত) | Places API-এর জায়গা অটোমেটিক সম্পূর্ণ করার পরিষেবা ব্যবহার করে জায়গার আইডি পান, তারপর Geocoding API ব্যবহার করে জায়গার আইডিকে অক্ষাংশ ও দ্রাঘিমাংশে জিওকোড করুন। |
| অটোমেটেড সিস্টেম সম্পূর্ণ, দ্ব্যর্থহীন, ডাক ঠিকানা প্রসেস করে (যেমন, “48 Pirrama Rd, Pyrmont, NSW, Australia”) | Geocoding API ওয়েব পরিষেবা ব্যবহার করুন। |
| অস্পষ্ট কোয়েরি প্রসেস করা অটোমেটেড সিস্টেম (যেমন, অসম্পূর্ণ, ভুল ফর্ম্যাট করা বা বানান ভুল থাকা ঠিকানা) | অটোমেটেড সিস্টেমকে জিওকোডিং API ওয়েব পরিষেবা ব্যবহার করার সাজেশন দিন। তবে, ব্যবহারকারীর ইনপুট থেকে পাওয়া অস্পষ্ট, অসম্পূর্ণ বা ভুল বানানযুক্ত কোয়েরির উচ্চ হার সহ অটোমেটেড সিস্টেম ইন্টারেক্টিভ 'প্লেস অটোকমপ্লিট' উইজেট যোগ করার মাধ্যমে উপকৃত হতে পারে যা ব্যবহারকারীদের ফলাফল বেছে নিতে এবং এইভাবে কোনও ঠিকানার বানান ভুল করা এড়াতে সাহায্য করে। |
| Directions API (Legacy) বা Distance Matrix API (Legacy) ব্যবহার করার সময় লেটেন্সি সংক্রান্ত সমস্যা, যার মধ্যে অরিজিন, ডেস্টিনেশন বা ওয়েপয়েন্ট ঠিকানার স্ট্রিং হিসেবে নির্দিষ্ট করা আছে | প্লেস আইডি পাওয়ার জন্য Places API Place অটোফিল পরিষেবা ব্যবহার করে জিওকোডিং লেটেন্সি কমান, তারপর Directions API (Legacy) বা Distance Matrix API (Legacy)-তে প্লেস আইডি পাস করুন। |
ব্যবহারকারীর ইনপুটের উত্তর দেওয়া
ব্যবহারকারীর ইনপুটের ভিত্তিতে রিয়েল-টাইমে উত্তর দেয় এমন অ্যাপ্লিকেশনকে দুটি প্রধান বিষয় বিবেচনা করতে হয় যা API বেছে নেওয়ার ক্ষেত্রে প্রভাব ফেলে:
- ব্যবহারকারীর ইনপুটে সাধারণত একটি ঠিকানা ধীরে ধীরে লিখতে হয় (যেমন "১২৩ মেইন স্ট্রিট"), তাই অসম্পূর্ণ, অস্পষ্ট ঠিকানা জিওকোড করতে পারা উপকারী কারণ এটি ব্যবহারকারীকে দ্রুত ফলাফল পেতে সাহায্য করে।
- ব্যবহারকারীর ইনপুটের ভিত্তিতে উত্তর দেয় এমন অ্যাপ্লিকেশন লেটেন্সি-সেনসিটিভ হয়।
এই দুটি বিষয় বিবেচনা করে Places API-তে থাকা প্লেস অটোকমপ্লিট পরিষেবা ব্যবহারকারীর ইনপুটের উত্তর দেওয়ার মতো ব্যবহারের ক্ষেত্রে আদর্শ। প্লেস অটোফিল এমনভাবে ডিজাইন করা হয়েছে যাতে এটি একাধিক সম্ভাব্য বিকল্প দেখাতে পারে এবং ব্যবহারকারীকে সেগুলির মধ্যে থেকে বেছে নিতে দেয়। ব্যবসা বাদ দিয়ে Places API-কে শুধুমাত্র জিওকোড বা ঠিকানা সার্চ করার জন্য সীমাবদ্ধ করা যেতে পারে। এছাড়াও, অটোকমপ্লিট লুকআপ ফাংশন কোনও লোকেশন অনুযায়ী ফলাফল দেখানোর জন্য পক্ষপাতদুষ্ট হতে পারে। Places API একটি প্লেস আইডি রিটার্ন করে যা Geocoding API ওয়েব পরিষেবায় সম্পূর্ণভাবে দ্ব্যর্থতা নিরসন করা লোকেশন হিসেবে পাস করা যায়, যা তারপরে সম্পূর্ণ ঠিকানা সংক্রান্ত বিবরণ রিটার্ন করে এবং ঠিকানাটিকে latlng-এ জিওকোড করে। এছাড়াও, প্লেস আইডি অন্যান্য API-তে পাস করা যেতে পারে, যেমন Directions API (Legacy) এবং Distance Matrix API (Legacy) (দেখুন লেটেন্সি কমানো)।
Geocoding API-তে ঠিকানা জিওকোডিংয়ের ক্ষেত্রে অনেক বেশি লেটেন্সি থাকে এবং অসম্পূর্ণ বা দ্ব্যর্থবোধক কোয়েরির ক্ষেত্রে কম সঠিক ফলাফল পাওয়া যায়, তাই ব্যবহারকারীর ইনপুটের রিয়েল-টাইম উত্তর দিতে হয় এমন অ্যাপ্লিকেশনের জন্য এটি সাজেস্ট করা হয় না।
Android, iOS, JavaScript এবং Places API-এর জন্য 'জায়গা অটোমেটিক সম্পূর্ণ করা' পরিষেবা সম্পর্কে আরও তথ্য পান।
অটোমেটেড সিস্টেম
অটোমেটেড সিস্টেম সম্পূর্ণ, দ্ব্যর্থহীন, পোস্টাল অ্যাড্রেস প্রসেস করছে: সম্পূর্ণ পোস্টাল অ্যাড্রেস স্ট্রিংয়ের (যেমন, "48 Pirrama Rd, Pyrmont, NSW, Australia") মতো দ্ব্যর্থহীন কোয়েরি Geocoding API ওয়েব পরিষেবা সবচেয়ে ভালোভাবে ম্যানেজ করে। ঠিকানা জিওকোডিং ব্যাকএন্ড বিশ্বজুড়ে ঠিকানার আরও বেশি কভারেজ প্রদান করে এবং এই ধরনের সম্পূর্ণ, দ্ব্যর্থহীন কোয়েরির মাধ্যমে খুব ভালো কোয়ালিটির ফলাফল পাওয়ার জন্য অপ্টিমাইজ করা হয়।
অস্পষ্ট কোয়েরি প্রসেস করার জন্য অটোমেটেড সিস্টেম: অস্পষ্ট কোয়েরি হল সেইসব কোয়েরি যেগুলিতে ভুল ফর্ম্যাট করা ঠিকানা, অসম্পূর্ণ ঠিকানা বা বানান ভুল থাকে। অটোমেটিক সিস্টেমের জন্য, আমরা Geocoding API ওয়েব পরিষেবা ব্যবহার করার সাজেশন দিই। তবে, Geocoding API অস্পষ্ট কোয়েরি সামলানোর জন্য ডিজাইন করা হয়নি এবং অস্পষ্ট কোয়েরির উত্তরে কম সঠিক ফলাফল বা কোনও ফলাফল নাও দেখাতে পারে। আপনার অটোমেটেড সিস্টেম যদি ব্যবহারকারীর ইনপুট থেকে পাওয়া অস্পষ্ট কোয়েরির খুব বেশি হার প্রসেস করে, তাহলে আপনি Places API-তে প্লেস অটোকমপ্লিট পরিষেবা ব্যবহার করে আপনার অ্যাপে একটি ইন্ট্যার্যাক্টিভ এলিমেন্ট যোগ করলে উপকৃত হতে পারেন, কারণ এটি একাধিক সম্ভাব্য বিকল্প দেখানোর জন্য ডিজাইন করা হয়েছে এবং ব্যবহারকারীকে সেগুলির মধ্যে থেকে বেছে নিতে দেয়। Places API একটি প্লেস আইডি রিটার্ন করে যা Geocoding API ওয়েব পরিষেবায় সম্পূর্ণ অস্পষ্টতা দূর করা লোকেশন হিসেবে পাস করা যেতে পারে, যা তারপর সম্পূর্ণ ঠিকানা সংক্রান্ত বিবরণ রিটার্ন করে এবং ঠিকানাটিকে latlng-এ জিওকোড করে। Android, iOS, JavaScript, এবং Places API-এর জন্য জায়গা অটোমেটিক সম্পূর্ণ করা পরিষেবা সম্পর্কে আরও তথ্য পান।
Directions API (Legacy) এবং Distance Matrix API (Legacy)-এর জন্য লেটেন্সি কমানো
শুরু, গন্তব্য বা ওয়েপয়েন্ট অ্যাড্রেস স্ট্রিং হিসেবে উল্লেখ করা হলে, Directions API (Legacy) এবং Distance Matrix API (Legacy) দিকনির্দেশ গণনা করার আগে এইসব অ্যাড্রেস জিওকোড করার জন্য Geocoding API-এর মতো একই ব্যাকএন্ড ব্যবহার করে। এটি latlngs বা প্লেস আইডি হিসেবে একই লোকেশন উল্লেখ করার তুলনায় লেটেন্সি উল্লেখযোগ্যভাবে বাড়িয়ে দেয়।
আপনার অ্যাপ্লিকেশন যদি লেটেন্সি-সংবেদনশীল পরিস্থিতিতে Directions API (Legacy) বা Distance Matrix API (Legacy) ব্যবহার করে, যেমন ব্যবহারকারীর ইনপুটের উত্তর দেওয়া এবং আপনার উৎস, গন্তব্য বা ওয়েপয়েন্ট প্রাথমিকভাবে অ্যাড্রেস স্ট্রিং হিসেবে নির্দিষ্ট করা থাকে, তাহলে আমরা সাজেস্ট করি যে আপনি Places API-এর Place Autocomplete পরিষেবা ব্যবহার করে অ্যাড্রেস স্ট্রিংগুলিকে প্লেস আইডিতে কনভার্ট করে লেটেন্সি কম করুন, তারপর প্লেস আইডিগুলি Directions API (Legacy) বা Distance Matrix API (Legacy)-তে পাস করুন। Android, iOS, JavaScript এবং Places API-এর জন্য 'জায়গা অটোমেটিক সম্পূর্ণ করা' পরিষেবা সম্পর্কে আরও তথ্য পান। এছাড়াও, জায়গা অটোমেটিক সম্পূর্ণ করা ও দিকনির্দেশের জাভাস্ক্রিপ্ট উদাহরণ দেখুন।
উপসংহার
আপনার ব্যবহারের কেসের উপর নির্ভর করে, আপনি শুধু জিওকোডিং API ব্যবহার করতে পারেন অথবা এটিকে প্লেস অটোকমপ্লিট পরিষেবার সাথে একত্রিত করতে পারেন। এটি আপনাকে এমন অ্যাপ তৈরি করতে দেয় যা সঠিক জিওকোডিং ফলাফল এবং কম লেটেন্সি অফার করে।
সমস্যা ও আবার চেষ্টা করা ম্যানেজ করা
আপনি UNKNOWN_ERROR উত্তর পেলে, এগুলি ক্ষণস্থায়ী সমস্যার
কারণে হয় এবং একটু দেরি করে আবার চেষ্টা করলে এগুলি সবচেয়ে ভালভাবে সমাধান করা যায়। আমরা সাজেস্ট করি যে আপনি
Google Maps Platform ওয়েব পরিষেবা
ক্লায়েন্ট লাইব্রেরি ব্যবহার করুন, যার মধ্যে আবার চেষ্টা করার লজিক এবং Google Maps Platform প্রিমিয়াম প্ল্যান
যাচাইকরণের সুবিধা অন্তর্ভুক্ত আছে।
Google Maps পরিষেবার জন্য Java ক্লায়েন্ট,
Python ক্লায়েন্ট,
Go ক্লায়েন্ট,
এবং Node.js ক্লায়েন্ট
হল কমিউনিটি পরিচালিত ক্লায়েন্ট লাইব্রেরি, যা ডাউনলোড
ও GitHub-এ কন্ট্রিবিউট করার জন্য উপলভ্য। এখানে আপনি ইনস্টলেশন সংক্রান্ত নির্দেশাবলী ও
স্যাম্পেল কোডও পাবেন।
আপনি যদি উত্তর হিসেবে OVER_QUERY_LIMIT স্ট্যাটাস কোড পান, তাহলে আপনি API-এর জন্য
ব্যবহারের সীমা অতিক্রম করেছেন। আমরা সাজেস্ট করি যে
আপনি এইসব
ব্যবহার অপ্টিমাইজেশন স্ট্র্যাটেজি ব্যবহার করে দেখুন।