इस पेज पर, Maps JavaScript API और Place क्लास का इस्तेमाल करते समय होने वाली गड़बड़ियों को ठीक करने का तरीका बताया गया है.
Google Maps JavaScript API, गड़बड़ियों के लिए इन क्लास का इस्तेमाल करता है:
-
MapsNetworkError
किसी वेब सेवा से जुड़ी नेटवर्क की गड़बड़ी को दिखाता है. इसमें RPCStatus गड़बड़ियां भी शामिल हो सकती हैं. -
MapsRequestError
वेब सेवा से अनुरोध करने पर हुई गड़बड़ी को दिखाता है. जैसे, एचटीटीपी में 4xx कोड के बराबर. -
MapsServerError
का मतलब है कि वेब सेवा में सर्वर साइड से जुड़ी गड़बड़ी हुई है. जैसे, एचटीटीपी में 5xx कोड.
MapsNetworkError
, MapsRequestError
, और MapsServerError
क्लास, Maps Core Library से जुड़ी हैं.
लाइब्रेरी के बारे में ज़्यादा जानें.
इ��में से हर क्लास में ये प्रॉपर्टी शामिल होती हैं:
code
प्रॉपर्टी से गड़बड़ी के टाइप का पता चलता है. वहीं, endpoint
प्रॉपर्टी से उस एंडपॉइंट का पता चलता है जिसने गड़बड़ी दिखाई है. उदाहरण के लिए, PLACES_DETAILS
. MapsNetworkError
, Error
का सबक्लास है. इसलिए, name
और message
जैसी अन्य प्रॉपर्टी भी उपलब्ध हैं.
यहां दिए गए स्निपेट में, Maps में गड़बड़ी के मैसेज का स्ट्रक्चर दिखाया गया है:
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
को छोड़कर गड़बड़ी वाली पूरी स्ट्रिंग शामिल होती है.
यहां दिए गए स्निपेट में, Place क्लास का इस्तेमाल करते समय गड़बड़ी को ठीक करने का तरीका बताया गया है. इस उदाहरण में, तीनों तरह की गड़बड़ियों को ठीक करने के लिए, try/catch ब्लॉक का इस्तेमाल किया गया है. इसी तरह के कोड का इस्तेमाल, Maps JavaScript API की किसी भी क्लास की गड़बड़ियों को ठीक करने के लिए किया जा सकता है.
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); } } // ... }