जगह की जानकारी (नई)

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript वेब सेवा

iOS के लिए Places SDK (नया) आपके ऐप्लिकेशन को जगहों के बारे में ज़रूरी जानकारी देता है. जैसे, जगह का नाम और पता, अक्षांश/देशांतर निर्देशांक के तौर पर बताई गई भौगोलिक जगह, जगह का टाइप (जैसे कि नाइट क्लब, पालतू जानवरों की दुकान, म्यूज़ियम वगैरह). किसी खास जगह की यह जानकारी ऐक्सेस करने के लिए, जगह के आईडी का इस्तेमाल किया जा सकता है. यह एक ऐसा स्थायी आइडेंटिफ़ायर है जो किसी जगह की खास तौर पर पहचान करता है.

स्थान विवरण पाएं

GMSPlace क्लास में किसी खास जगह की जानकारी होती है. इसमें जगह के डेटा के फ़ील्ड (नया) में दिखाए गए सभी डेटा फ़ील्ड भी शामिल होते हैं. GMSPlacesClient fetchPlaceWithRequest: को कॉल करके GMSPlace ऑब्जेक्ट पाएं, GMSFetchPlaceRequest ऑब्जेक्ट और कॉलबैक का तरीका GMSPlaceResultCallback पास करें.

GMSFetchPlaceRequest ऑब्जेक्ट, इनके बारे में बताता है:

  • (ज़रूरी है) जगह का आईडी, जो Google Places के डेटाबेस और Google Maps पर किसी जगह का यूनीक आइडेंटिफ़ायर होता है.
  • (ज़रूरी है) GMSPlace ऑब्जेक्ट में दिए जाने वाले फ़ील्ड की सूची, जिसे फ़ील्ड मास्क भी कहा जाता है. इसे GMSPlaceProperty में बताया गया है. अगर आपने फ़ील्ड की सूची में कम से कम एक फ़ील्ड नहीं डाला है या फ़ील्ड की सूची को हटा दिया जाता है, तो कॉल दिखाने पर गड़बड़ी दिखती है.
  • (ज़रूरी नहीं) जवाब को फ़ॉर्मैट करने के लिए इस्तेमाल किया गया क्षेत्र का कोड.
  • (ज़रूरी नहीं) ऑटोकंप्लीट (नया) सेशन को खत्म करने के लिए इस्तेमाल किया गया सेशन टोकन.

जगह की जानकारी के लिए अनुरोध करें

इस उदाहरण में, आईडी के हिसाब से जगह की जानकारी दी गई है, जो इन पैरामीटर को पास करती है:

  • ChIJV4k8_9UodTERU5KXbkYpSYs का जगह आईडी.
  • जगह का नाम और वेबसाइट का यूआरएल दिखाने वाली फ़ील्ड सूची.
  • नतीजा मैनेज करने के लिए, GMSPlaceResultCallback.

एपीआई, बताए गए कॉलबैक के तरीके को शुरू करता है, जो GMSPlace ऑब्जेक्ट में पास होता है. अगर जगह नहीं मिलती है, तो जगह से जुड़ा ऑब्जेक्ट शून्य है.

Swift

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

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

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

client.fetchPlace(with: 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 *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest object.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties 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);
  }
}];

GooglePlacesSwift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"
let fetchPlaceRequest = FetchPlaceRequest(
  placeID: placeID,
  placeProperties: [.name, .website]
)
switch await placesClient.fetchPlace(with: fetchPlaceRequest) {
case .success(let place):
  // Handle place
case .failure(let placesError):
  // Handle error
}

जगह की जानकारी का जवाब

जगह की जानकारी से एक GMSPlace ऑब्जेक्ट दिखता है, जिसमें जगह के बारे में जानकारी होती है. GMSPlace ऑब्जेक्ट में, सिर्फ़ फ़ील्ड की सूची में दिए गए फ़ील्ड का डेटा अपने-आप भर जाता है.

रिस्पॉन्स में मौजूद GMSPlace ऑब्जेक्ट के साथ-साथ, डेटा फ़ील्ड में ये सदस्य फ़ंक्शन भी शामिल होते हैं:

  • isOpen यह हिसाब लगाता है कि कोई जगह, दिए गए समय पर खुली है या नहीं.
  • isOpenAtDate यह हिसाब लगाता है कि कोई जगह, दी गई तारीख को खुली या बंद हुई या नहीं.

ज़रूरी पैरामीटर

ज़रूरी पैरामीटर बताने के लिए, GMSFetchPlaceRequest ऑब्जेक्ट का इस्तेमाल करें.

जगह का आईडी

iOS के लिए Places SDK में इस्तेमाल किया गया प्लेस आईडी वही आइडेंटिफ़ायर होता है जिसका इस्तेमाल Places API, Android के लिए Places SDK टूल, और अन्य Google API में किया जाता है. हर जगह का आईडी सिर्फ़ एक जगह का आईडी हो सकता है, लेकिन किसी एक जगह के आईडी में एक से ज़्यादा जगह हो सकती हैं.

कुछ स्थितियों की वजह से किसी जगह को नया जगह आईडी मिल सकता है. उदाहरण के लिए, ऐसा तब हो सकता है, जब कोई कारोबार किसी नई जगह पर चला जाता है.

जब आप किसी जगह का आईडी डालकर किसी जगह का अनुरोध करते हैं, तो आपको भरोसा हो सकता है कि आपको जवाब में हमेशा एक ही जगह मिलेगी (अगर जगह अब भी मौजूद है). हालांकि, ध्यान दें कि जवाब में ऐसी जगह का आईडी हो सकता है, जो आपके अनुरोध में दिए गए आईडी से अलग हो.

फ़ील्ड की सूची

जगह की जानकारी का अनुरोध करते समय, आपको उस जगह के लिए GMSPlace ऑब्जेक्ट में, फ़ील्ड मास्क के तौर पर डेटा दिखाना होगा. फ़ील्ड मास्क तय करने के लिए, GMSPlaceProperty से GMSFetchPlaceRequest ऑब्जेक्ट तक के वैल्यू की अरे पास करें. फ़ील्ड मास्किंग का इस्तेमाल करके, ग़ैर-ज़रूरी डेटा का अनुरोध न किया जाए. इससे प्रोसेसिंग में लगने वाले गैर-ज़रूरी समय और बिलिंग शुल्कों से बचने में मदद मिलती है.

इनमें से एक या उससे ज़्यादा फ़ील्ड शामिल करें:

  • नीचे दिए गए फ़ील्ड, जगह की जानकारी (सिर्फ़ आईडी) SKU को ट्रिगर करते हैं:

    GMSPlacePropertyPlaceID, GMSPlacePropertyName, GMSPlacePropertyPhotos

  • नीचे दिए गए फ़ील्ड, जगह की जानकारी (सिर्फ़ जगह की जानकारी) SKU को ट्रिगर करते हैं:

    GMSPlacePropertyAddressComponents, GMSPlacePropertyFormattedAddress, GMSPlacePropertyCoordinate, GMSPlacePropertyPlusCode, GMSPlacePropertyTypes, GMSPlacePropertyViewport

  • नीचे दिए गए फ़ील्ड, जगह की जानकारी (बेसिक) SKU को ट्रिगर करते हैं:

    GMSPlacePropertyBusinessStatus, GMSPlacePropertyIconBackgroundColor, GMSPlacePropertyIconImageURL, GMSPlacePropertyUTCOffsetMinutes, GMSPlacePropertyWheelchairAccessibleEntrance

  • नीचे दिए गए फ़ील्ड, जगह की जानकारी (ऐडवांस) SKU को ट्रिगर करते हैं:

    GMSPlacePropertyCurrentOpeningHours, GMSPlacePropertySecondaryOpeningHours, GMSPlacePropertyPhoneNumber, GMSPlacePropertyPriceLevel, GMSPlacePropertyRating, GMSPlacePropertyOpeningHours, GMSPlacePropertyUserRatingsTotal, GMSPlacePropertyWebsite

  • नीचे दिए गए फ़ील्ड, जगह की जानकारी (पसंदीदा) SKU को ट्रिगर करते हैं:

    GMSPlacePropertyCurbsidePickup, GMSPlacePropertyDelivery, GMSPlacePropertyDineIn, GMSPlacePropertyEditorialSummary, GMSPlacePropertyReservable, GMSPlacePropertyReviews, GMSPlacePropertyServesBeer, GMSPlacePropertyServesBreakfast, GMSPlacePropertyServesBrunch, GMSPlacePropertyServesDinner, GMSPlacePropertyServesLunch, GMSPlacePropertyServesVegetarianFood, GMSPlacePropertyServesWine, GMSPlacePropertyTakeout

इस उदाहरण में, दो फ़ील्ड वैल्यू की सूची पास की गई है. इससे पता चलता है कि अनुरोध करने पर मिले GMSPlace ऑब्जेक्ट में name और placeID फ़ील्ड शामिल हैं:

Swift

// Specify the place data types to return.
let fields: [GMSPlaceProperty] = [.placeID, .name]
  

Objective-C

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

GooglePlacesSwift

// Specify the place data types to return.
let fields: [PlaceProperty] = [.placeID, .displayName]
    

ज़रूरी नहीं पैरामीटर

वैकल्पिक पैरामीटर तय करने के लिए, GMSFetchPlaceRequest ऑब्जेक्ट का इस्तेमाल करें.

regionCode

रिस्पॉन्स को फ़ॉर्मैट करने के लिए इस्तेमाल किया गया क्षेत्र का कोड, जिसे दो वर्ण वाले CLDR कोड की वैल्यू के तौर पर दिखाया जाता है. इस पैरामीटर का असर खोज के नतीजों पर भी हो सकता है. कोई डिफ़ॉल्ट वैल्यू नहीं है.

अगर जवाब में दिए गए पते के फ़ील्ड में देश का नाम, क्षेत्र के कोड से मेल खाता है, तो पते से देश का कोड हटा दिया जाता है.

ज़्यादातर CLDR कोड, ISO 3166-1 कोड जैसे ही होते हैं, हालांकि, इसमें कुछ ख़ास अपवाद हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है (तकनीकी रूप से "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन और नॉदर्न आयरलैंड" की इकाई के लिए). पैरामीटर, लागू कानून के आधार पर नतीजों पर असर डाल सकता है.

sessionToken

सेशन टोकन, उपयोगकर्ता के जनरेट किए गए ऐसे स्ट्रिंग होते हैं जो ऑटोकंप्लीट (नए) कॉल को "सेशन" के तौर पर ट्रैक करते हैं. बिलिंग के मकसद से, ऑटोकंप्लीट की सुविधा (नया) सेशन टोकन का इस्तेमाल करके, क्वेरी को ग्रुप करने और उपयोगकर्ता की ऑटोकंप्लीट खोज की सुविधा के चुने गए फ़ेज़ को एक अलग सेशन में प्लेस करने के लिए इस्तेमाल करती है. सेशन टोकन, जगह की जानकारी (नए) कॉल में पास किए जाते हैं, जो ऑटोकंप्लीट (नए) कॉल के बाद आते हैं. ज़्यादा जानकारी के लिए, सेशन टोकन देखें.

अपने ऐप्लिकेशन में एट्रिब्यूशन दिखाएं

जब आपका ऐप्लिकेशन GMSPlacesClient से मिली जानकारी, जैसे कि फ़ोटो और समीक्षाएं दिखाता है, तो ऐप्लिकेशन में ज़रूरी एट्रिब्यूशन भी दिखाए जाने चाहिए.

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

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