इस गाइड में, Places Service के पुराने वर्शन और Place क्लास के नए वर्शन के बीच के मुख्य अंतर बताए गए हैं. Place क्लास में अपग्रेड करने से कई फ़ायदे मिलते हैं, जैसे, बेहतर परफ़ॉर्मेंस और कीमत का नया मॉडल. Places की सुविधाओं का ज़्यादा से ज़्यादा फ़ायदा पाने और यह पक्का करने के लिए कि आपके ऐप्लिकेशन अप-टू-डेट हों, इस गाइड में बताए गए बदलावों के बारे में जानें.
माइग्रेशन के लिए बिलिंग से जुड़े सबसे सही तरीके
यह दिशा-निर्देश तब लागू होता है, जब एपीआई का इस्तेमाल इतना ज़्यादा हो कि कीमत के दूसरे लेवल पर पहुंचा जा सके. किसी एपीआई के नए वर्शन पर माइग्रेट करने पर, आपसे किसी दूसरे एसकेयू के लिए भी शुल्क लिया जाता है. माइग्रेशन के दौरान, लागत बढ़ने से बचने के लिए, हमारा सुझाव है कि प्रोडक्शन में नए एपीआई पर, महीने की शुरुआत में जल्द से जल्द स्विच करें. इससे यह पक्का होगा कि माइग्रेशन वाले महीने में, आपको कीमत के सबसे किफ़ायती मासिक लेवल मिलें. कीमत के लेवल के बारे में जानने के लिए, कीमत वाला पेज और कीमत से जुड़े अक्सर पूछे जाने वाले सवाल देखें.
Places API चालू करना
Place क्लास, Places API की सेवा पर काम करती है. Place क्लास की नई सुविधाओं का इस्तेमाल करने के लिए, आपको सबसे पहले अपने Google Cloud प्रोजेक्ट में Places API (नया) चालू करना होगा. ज़्यादा जानकारी के लिए, शुरू करना देखें.
सामान्य बदलाव
यहां दी गई टेबल में, PlacesService
और Place के बीच के कुछ मुख्य अंतर बताए गए हैं:
PlacesService (पुराना वर्शन) |
Place (नया वर्शन) |
|---|---|
मेथड के लिए, नतीजों के ऑब्जेक्ट और
google.maps.places.PlacesServiceStatus जवाब को मैनेज करने के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है. |
प्रॉमिस का इस्तेमाल करता है और एसिंक्रोनस तरीके से काम करता है. |
मेथड के लिए, PlacesServiceStatus की जांच करना ज़रूरी है. |
स्टेटस की जांच करना ज़रूरी नहीं है. इसमें, गड़बड़ी को मैनेज करने के स्टैंडर्ड तरीके का इस्तेमाल किया जा सकता है. |
| जगह की जानकारी के डेटा फ़ील्ड को स्नेक केस का इस्तेमाल करके फ़ॉर्मैट किया जाता है. | जगह की जानकारी के डेटा फ़ील्ड को कैमल केस का इस्तेमाल करके फ़ॉर्मैट किया जाता है. |
| यह जगह के टाइप और जगह की जानकारी के डेटा फ़ील्ड के तय सेट तक ही सीमित है. | यह जगह के टाइप और जगह की जानकारी के डेटा फ़ील्ड के लिए, ज़्यादा विकल्प उपलब्ध कराता है. इन्हें समय-समय पर अपडेट किया जाता है. |
एपीआई से जुड़े खास बदलाव
Place क्लास, Places लाइब्रेरी का इस्तेमाल करने के लिए एक एपीआई उपलब्ध कराती है. साथ ही, यह प्रॉमिस जैसे इस्तेमाल के आधुनिक पैटर्न के साथ काम करती है. Place क्लास, जगह की जानकारी के वही डेटा फ़ील्ड और जगह के टाइप उपलब्ध कराती है जो Places Service के पुराने वर्शन में उपलब्ध थे. इसके अलावा, इसमें जगह की जानकारी के डेटा फ़ील्ड और जगह के टाइप के लिए कई नई वैल्यू भी शामिल हैं.
इस टेबल में दिखाया गया है कि Places Service की सुविधाएं, Place क्लास की सुविधाओं से कैसे मैप होती हैं:
Places लाइब्रेरी लोड करना
आपका ऐप्लिकेशन, Places लाइब्रेरी को कैसे लोड करता है, यह इस बात पर निर्भर करता है कि कौनसे बूटस्ट्रैप लोडर का इस्तेमाल किया जा रहा है. अगर आपका ऐप्लिकेशन, डाइनैमिक लाइब्रेरी इंपोर्ट का इस्तेमाल करता है, तो रनटाइम पर ज़रूरी लाइब्रेरी लोड की जा सकती हैं. इसके लिए, await ऑपरेटर का इस्तेमाल करके importLibrary() को कॉल करें. जैसे, यहां दिखाया गया है:
const { Place } = await google.maps.importLibrary("places");
अगर आपका ऐप्लिकेशन, स्क्रिप्ट को सीधे लोड करने वाले टैग का इस्तेमाल करता है,
तो लोडर स्क्रिप्ट में places लाइब्रेरी का अनुरोध करें:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>Maps JavaScript API लोड करने के बारे में ज़्यादा जानें.
इस सेक्शन में, अपने ऐप्लिकेशन को Places API के नए वर्शन पर माइग्रेट करने में मदद करने के लिए, ये गाइड शामिल हैं:
- जगह की जानकारी पर माइग्रेट करना
- टेक्स्ट के आधार पर खोज की सुविधा (नया वर्शन) पर माइग्रेट करना
- आस-पास की जगहों की खोज की सुविधा (नया वर्शन) पर माइग्रेट करना
- जगह की फ़ोटो की सुविधा पर माइग्रेट करना
- जगह की समीक्षाओं की सुविधा पर माइग्रेट करना
- जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा पर माइग्रेट करना