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

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

Places API चालू करना

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

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

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

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

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

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

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

Places Service (लेगसी) जगह की कैटगरी (नया)
जगह के डेटा फ़ील्ड जगह की कैटगरी के डेटा फ़ील्ड
जगह के टाइप जगह के टाइप
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 क्लास ---

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

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