जगह की जानकारी पर माइग्रेट करना (नया)

Places API (लेगसी), जगह के बारे में ज़्यादा जानकारी (लेगसी) के साथ काम करता है. अगर आपको Places API (लेगसी) के बारे में जानकारी है, तो जगह की जानकारी (नया) में ये बदलाव किए गए हैं:

  • कीमत तय करने के नए मॉडल का इस्तेमाल करता है. सभी एपीआई की कीमत के बारे में जानकारी के लिए, इस्तेमाल और बिलिंग देखें.

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

  • अनुरोध करने के लिए, नए GMSPlacesClient fetchPlaceWithRequest: तरीके का इस्तेमाल करें.

  • अनुरोध में पास करें:

    • नई GMSFetchPlaceRequest क्लास का एक इंस्टेंस, जो सभी अनुरोध पैरामीटर तय करता है. जैसे, जगह का आईडी और सेशन टोकन.

    • जवाब को मैनेज करने के लिए, GMSPlaceResultCallback टाइप का कॉलबैक.

  • जवाब में, GMSPlace का एक इंस्टेंस होता है. इसमें जगह के बारे में जानकारी होती है. अब GMSPlace इंस्टेंस की types प्रॉपर्टी की वैल्यू, टेबल A और टेबल B से तय की जाती हैं.

  • जवाब के GMSPlace इंस्टेंस में, GMSPlaceReview टाइप की नई reviews प्रॉपर्टी शामिल है. अगर आपका ऐप्लिकेशन, GMSPlace इंस्टेंस से मिली जानकारी दिखाता है, तो उसे ज़रूरी एट्रिब्यूशन भी दिखाने होंगे. जैसे, फ़ोटो और समीक्षाएं.

    ज़्यादा जानकारी के लिए, एट्रिब्यूशन के बारे में दस्तावेज़ देखें.

  • जवाब के GMSPlace इंस्टेंस में, सदस्य के ये फ़ंक्शन शामिल होते हैं:

    • isOpen यह फ़ंक्शन, यह पता लगाता है कि दी गई समयावधि में कोई जगह खुली है या नहीं.

    • isOpenAtDate इससे यह पता चलता है कि कोई जगह किसी तारीख पर खुली है या नहीं.

    ये फ़ंक्शन सिर्फ़ तब उपलब्ध होते हैं, जब आपने Places SDK for iOS चालू किया हो. Places SDK for iOS (नया) चालू करने पर, ये उपलब्ध नहीं होते. ज़्यादा जानकारी के लिए, एसडीके टूल का वर्शन चुनें लेख पढ़ें.

अनुरोध का उदाहरण

Place Details (नया) के साथ, आप अनुरोध करते हैं और GMSFetchPlaceRequest इंस्टेंस में सभी पैरामीटर पास करते हैं. इस उदाहरण में फ़ील्ड मास्क का भी इस्तेमाल किया गया है, ताकि जवाब में सिर्फ़ जगह का डिसप्ले नेम और वेबसाइट का यूआरएल शामिल हो:

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue}

// Create the GMSFetchPlaceRequest instance.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil)

client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: {
  (place: GMSPlace?, error: Error?) in
  guard let place, error == nil else { return }
  print("Place found: \(String(describing: place.name))")
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
NSArray<NSString *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest instance.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields sessionToken:nil];

[placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
    if (error != nil) {
      NSLog(@"An error occurred %@", [error localizedDescription]);
      return;
    } else {
    NSLog(@"Place Found: %@", place.name);
    NSLog(@"The place URL: %@", place.website);
  }
}];