এই পৃষ্ঠাটি বর্ণনা করে কিভাবে ম্যাপ জাভাস্ক্রিপ্ট API এবং প্লেস ক্লাস ব্যবহার করার সময় ত্রুটিগুলি পরিচালনা করতে হয়৷
Google Maps JavaScript API ত্রুটির জন্য নিম্নলিখিত শ্রেণীগুলি ব্যবহার করে:
-
MapsNetworkError
একটি ওয়েব পরিষেবা থেকে একটি নেটওয়ার্ক ত্রুটি উপস্থাপন করে ( RPCS স্থিতি ত্রুটি অন্তর্ভুক্ত করতে পারে)। -
MapsRequestError
একটি ওয়েব পরিষেবা থেকে একটি অনুরোধ ত্রুটি প্রতিনিধিত্ব করে (যেমন HTTP-তে একটি 4xx কোডের সমতুল্য)। -
MapsServerError
একটি ওয়েব পরিষেবা থেকে একটি সার্ভার-সাইড ত্রুটি উপস্থাপন করে (যেমন HTTP-এ একটি 5xx কোডের সমতুল্য)।
MapsNetworkError
, MapsRequestError
, এবং MapsServerError
ক্লাসগুলি মানচিত্রের মূল লাইব্রেরির অন্তর্গত৷ লাইব্রেরি সম্পর্��ে আরও জানুন।
এই শ্রেণীর প্রতিটিতে নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
code
বৈশিষ্ট্য ত্রুটির ধরন সনাক্ত করে; endpoint
প্রপার্টি সেই এন্ডপয়েন্টটিকে চিহ্নিত করে যা ত্রুটিটি ফিরিয়ে দিয়েছে (উদাহরণস্বরূপ PLACES_DETAILS
)। যেহেতু MapsNetworkError
হল Error
এর একটি সাবক্লাস, তাই name
এবং message
সহ অন্যান্য বৈশিষ্ট্যগুলিও উপলব্ধ।
নিম্নলিখিত স্নিপেট একটি মানচিত্র ত্রুটি বার্তার গঠন দেখায়:
MapsRequestError: PLACES_GET_PLACE: INVALID_ARGUMENT: Error fetching fields: The provided Place ID: ChIJN5Nz71W3j4ARhx5bwpTQEGg**** is not valid. [error.name ] [error.endpoint ] [error.code ] [error.message ---> ... ]
কাঁচা ত্রুটি ত্রুটি স্ট্রিং সবকিছু অন্তর্ভুক্ত; error.message
error.name
ব্যতীত সম্পূর্ণ ত্রুটির স্ট্রিং অন্তর্ভুক্ত রয়েছে।
নিম্নলিখিত স্নিপেট প্লেস ক্লাস ব্যবহার করার সময় ত্রুটি হ্যান্ডলিং প্রদর্শন করে। এই উদাহরণটি তিনটি ত্রুটি প্রকারের প্রতিটি পরিচালনা করার জন্য একটি চেষ্টা/ক্যাচ ব্লক ব্যবহার করে। যেকোন মানচিত্র জাভাস্ক্রিপ্ট এপিআই ক্লাসের ত্রুটিগুলি পরিচালনা করতে অনুরূপ কোড ব্যবহার করা যেতে পারে।
async function getPlaceDetails() { const { Place } = await google.maps.importLibrary("places") as google.maps.PlacesLibrary; const { MapsNetworkError, MapsRequestError, MapsServerError } = await google.maps.importLibrary("core") as google.maps.CoreLibrary; // Use place ID to create a new Place instance. const place = new Place({ id: 'ChIJN5Nz71W3j4ARhx5bwpTQEGg****', // Pass a bad Place ID to trigger an error. }); // Error handling for fetchFields. try { // Call fetchFields, passing the desired data fields. await place.fetchFields({ fields: ['displayName', 'formattedAddress', 'location'] }); } catch (error: any) { if (error && error instanceof google.maps.MapsRequestError) { // HTTP 4xx request error. console.error('fetchFields failed: MapsRequestError - check the request parameters', error); } else if (error && error instanceof google.maps.MapsServerError) { // HTTP 5xx server-side error. console.error('fetchFields failed: MapsServerError', error); } else if (error && error instanceof google.maps.MapsNetworkError) { // Network error. console.error('fetchFields failed: MapsNetworkError', error); } else { console.error('fetchFields failed: An unknown error occurred', error); } } // ... }