माइग्रेशन के बारे में खास जानकारी

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

इस गाइड में, लेगसी Places सेवा और नई Place क्लास के बीच के मुख्य अंतर बताए गए हैं. Place क्लास पर अपग्रेड करने से कई अहम फ़ायदे मिलते हैं. जैसे, बेहतर परफ़ॉर्मेंस और नया प्राइसिंग मॉडल. Places का ज़्यादा से ज़्यादा फ़ायदा पाने और अपने ऐप्लिकेशन को अप-टू-डेट रखने के लिए, इस गाइड में बताए गए बदलावों के बारे में जानें.

माइग्रेशन के लिए बिलिंग के सबसे सही तरीके

यह दिशा-निर्देश तब लागू होता है, जब एपीआई का इस्तेमाल इतना ज़्यादा हो कि आपको दूसरे टीयर की कीमत चुकानी पड़े. एपीआई के नए वर्शन पर माइग्रेट करने पर, आपसे किसी दूसरे SKU के लिए भी शुल्क लिया जाता है. ट्रांज़िशन के महीने में ज़्यादा शुल्क देने से बचने के लिए, हमारा सुझाव है कि आप महीने की शुरुआत में ही प्रोडक्शन में नए एपीआई पर स्विच कर लें. इससे यह पक्का होगा कि माइग्रेशन वाले महीने के दौरान, आपको हर महीने के हिसाब से सबसे किफ़ायती कीमत वाले टियर मिलें. कीमत के टियर के बारे में जानकारी पाने के लिए, कीमत वाला पेज और कीमत के बारे में अक्सर पूछे जाने वाले सवाल देखें.

Places API चालू करना

Place क्लास, Places API सेवा पर निर्भर करती है. नई Place क्लास की सुविधाओं का इस्तेमाल करने के लिए, आपको सबसे पहले अपने Google Cloud प्रोजेक्ट में Places API (नया वर्शन) चालू करना होगा. ज़्यादा जानकारी के लिए, शुरू करें लेख पढ़ें.

सामान्य बदलाव

यहां दी गई टेबल में, PlacesService और Place के बीच के कुछ मुख्य अंतर बताए गए हैं:

PlacesService (लेगसी) Place (नया)
नतीजों के ऑब्जेक्ट और google.maps.places.PlacesServiceStatus रिस्पॉन्स को मैनेज करने के लिए, तरीकों में कॉलबैक का इस्तेमाल करना ज़रूरी है. यह Promises का इस्तेमाल करता है और एसिंक्रोनस तरीके से काम करता है.
इन तरीकों के लिए, PlacesServiceStatus की जांच ज़रूरी है. स्टेटस की जांच करने की ज़रूरत नहीं है. गड़बड़ी को ठीक करने के लिए, स्टैंडर्ड तरीके का इस्तेमाल किया जा सकता है.
जगह की जानकारी वाले डेटा फ़ील्ड, स्नेक केस (स्पेसिंग को अंडरस्कोर में बदलना) का इस्तेमाल करके फ़ॉर्मैट किए जाते हैं. जगह की जानकारी वाले डेटा फ़ील्ड को कैमल केस का इस्तेमाल करके फ़ॉर्मैट किया जाता है.
यह जगह के टाइप और जगह के डेटा फ़ील्ड के तय सेट तक सीमित है. नियमित तौर पर अपडेट होने वाले जगह के टाइप और जगह के डेटा फ़ील्ड के लिए, ज़्यादा विकल्प उपलब्ध कराता है.

एपीआई से जुड़े बदलाव

Place क्लास, जगहों की लाइब्रेरी का इस्तेमाल करने के लिए एक एपीआई उपलब्ध कराती है. साथ ही, यह Promises जैसे मॉडर्न यूसेज पैटर्न के साथ काम करती है. Place क्लास, लेगसी Places Service की तरह ही जगह के डेटा फ़ील्ड और जगह के टाइप दिखाती है. साथ ही, इसमें जगह के डेटा फ़ील्ड और जगह के टाइप के लिए कई नई वैल्यू शामिल होती हैं.

इस टेबल में दिखाया गया है कि Places सेवा की सुविधाएं, Place क्लास की सुविधाओं से कैसे मैप होती हैं:

Places Service (लेगसी) Place Class (नया)
जगह की जानकारी वाले डेटा फ़ील्ड जगह की क्लास के डेटा फ़ील्ड
जगह के टाइप जगह के टाइप
PlacesService.findPlaceFromQuery() Place.searchByText()
PlacesService.findPlaceFromPhoneNumber() Place.searchByText()
PlacesService.textSearch() Place.searchByText()
PlacesService.nearbySearch() Place.searchNearby()
PlacesService.getDetails() Place.fetchFields()
Places.AutocompletionRequest Places.AutocompleteRequest
Places.AutocompletePrediction Places.PlacePrediction
Autocomplete क्लास PlaceAutocompleteElement क्लास
SearchBox क्लास ---

जगहों की लाइब्रेरी लोड करना

आपका ऐप्लिकेशन, जगहों की लाइब्रेरी को कैसे लोड करता है, यह इस बात पर निर्भर करता है कि किस बूटस्ट्रैप लोडर का इस्तेमाल किया जा रहा है. अगर आपका ऐप्लिकेशन डाइनैमिक लाइब्रेरी इंपोर्ट का इस्तेमाल करता है, तो रनटाइम के दौरान ज़रूरी लाइब्रेरी लोड की जा सकती हैं. इसके लिए, 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 के नए वर्शन का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन को माइग्रेट करने से जुड़ी गाइड शामिल हैं: