इस गाइड में, लेगसी Places Service और नई Place क्लास के बीच के मुख्य अंतरों के बारे में बताया गया है. Place क्लास में अपग्रेड करने पर कई अहम फ़ायदे मिलते हैं. जैसे, बेहतर परफ़ॉर्मेंस और नया प्राइसिंग मॉडल. Places API का ज़्यादा से ज़्यादा फ़ायदा पाने और यह पक्का करने के लिए कि आपके ऐप्लिकेशन अप-टू-डेट हों, इस गाइड में बताए गए बदलावों के बारे में जानें.
माइग्रेशन के लिए बिलिंग के सबसे सही तरीके
यह दिशा-निर्देश तब लागू होता है, जब आपके एपीआई इस्तेमाल करने की दर इतनी ज़्यादा हो कि आपको दूसरे टियर की कीमत पर जाना पड़े. एपीआई के नए वर्शन पर माइग्रेट करने पर, आपको किसी दूसरे एसकेयू के लिए भी बिल भेजा जाता है. ट्रांज़िशन के दौरान, महीने के आखिर में ज़्यादा शुल्क न लगे, इसके लिए हमारा सुझाव है कि आप महीने की शुरुआत में ही नए एपीआई पर स्विच कर लें. इससे यह पक्का होगा कि माइग्रेशन के महीने में, आपको हर महीने के सबसे किफ़ायती प्राइसिंग टियर मिलें. शुल्क के टियर के बारे में जानकारी पाने के लिए, शुल्क वाला पेज और शुल्क के बारे में अक्सर पूछे जाने वाले सवाल देखें.
Places API चालू करना
Place क्लास, Places API सेवा पर निर्भर करती है. Place क्लास की नई सुविधाओं का इस्तेमाल करने के लिए, आपको सबसे पहले अपने Google Cloud प्रोजेक्ट में Places API (New) को चालू करना होगा. ज़्यादा जानकारी के लिए, शुरू करें लेख पढ़ें.
सामान्य बदलाव
यहां दी गई टेबल में, PlacesService
और Place
के बीच के कुछ मुख्य अंतर बताए गए हैं:
PlacesService (लेगसी) |
Place (नया) |
---|---|
नतीजे के ऑब्जेक्ट और google.maps.places.PlacesServiceStatus रिस्पॉन्स को मैनेज करने के लिए, तरीकों में कॉलबैक का इस्तेमाल करना ज़रूरी है. |
यह Promises का इस्तेमाल करता है और एसिंक्रोनस तरीके से काम करता है. |
इन तरीकों की PlacesServiceStatus जांच करना ज़रूरी है. |
स्टेटस की जांच करने की ज़रूरत नहीं है. स्टैंडर्ड गड़बड़ी को ठीक करने की सुविधा का इस्तेमाल किया जा सकता है. |
जगह के डेटा फ़ील्ड को स्नेक केस का इस्तेमाल करके फ़ॉर्मैट किया जाता है. | जगह के डेटा फ़ील्ड को कैमल केस का इस्तेमाल करके फ़ॉर्मैट किया जाता है. |
यह जगह के टाइप और जगह की जानकारी के डेटा फ़ील्ड के एक तय सेट तक सीमित है. | इसमें, जगह के टाइप और जगह के डेटा फ़ील्ड के ज़्यादा विकल्प मिलते हैं. ये विकल्प नियमित तौर पर अपडेट होते हैं. |
एपीआई से जुड़े बदलाव
Place क्लास, Places लाइब्रेरी का इस्तेमाल करने के लिए एक एपीआई उपलब्ध कराता है. साथ ही, यह Promises जैसे इस्तेमाल के नए पैटर्न के साथ काम करता है. Place क्लास, Places API के पुराने वर्शन की तरह ही जगह की जानकारी के डेटा फ़ील्ड और जगह के टाइप दिखाता है. साथ ही, इसमें जगह की जानकारी के डेटा फ़ील्ड और जगह के टाइप के लिए कई नई वैल्यू शामिल होती हैं.
इस टेबल में दिखाया गया है कि Places Service की सुविधाएं, Place क्लास की सुविधाओं से कैसे मैप होती हैं:
Places लाइब्रेरी लोड करना
आपका ऐप्लिकेशन Places लाइब्रेरी को कैसे लोड करता है, यह इस बात पर निर्भर करता है कि कौनसे बूटस्ट्रैप लोडर का इस्तेमाल किया जा रहा है. अगर आपका ऐप्लिकेशन डाइनैमिक लाइब्रेरी इंपोर्ट का इस्तेमाल करता है, तो रनटाइम के दौरान ज़रूरी लाइब्रेरी लोड की जा सकती हैं. इसके लिए, importLibrary()
को कॉल करने के लिए await
ऑपरेटर का इस्तेमाल करें. यहां दिखाया गया है:
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 के नए वर्शन पर माइग्रेट करने के लिए, यहां दी गई गाइड शामिल हैं:
- जगह की जानकारी वाले एपीआई पर माइग्रेट करना
- टेक्स्ट खोज (नया) पर माइग्रेट करना
- आस-पास की जगहों की जानकारी (नया वर्शन) पर माइग्रेट करना
- Place Photos पर माइग्रेट करना
- जगह की समीक्षाओं पर माइग्रेट करना
- Place Autocomplete पर माइग्रेट करना