टेक्स्ट से खोजें (नई सुविधा)

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

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

टेक्स्ट से खोजें (नया वर्शन) सुविधा, किसी स्ट्रिंग के आधार पर जगहों के सेट की जानकारी दिखाती है. उदाहरण के लिए, "दिल्ली में पिज़्ज़ा" या "मुंबई के पास जूतों की दुकानें" या "123 मेन स्ट्रीट". यह सेवा, टेक्स्ट स्ट्रिंग और सेट की गई जगह की जानकारी के आधार पर, जगहों की सूची दिखाती है.

ज़रूरी पैरामीटर के अलावा, टेक्स्ट से खोजें (नया) में वैकल्पिक पैरामीटर का इस्तेमाल करके क्वेरी को बेहतर बनाया जा सकता है. इससे बेहतर नतीजे मिलते हैं.

टेक्स्ट से खोजकर जगहों की सूची पाना

टेक्स्ट से खोजने का अनुरोध करने के लिए, GMSPlacesClient searchByTextWithRequest: को कॉल करें. साथ ही, अनुरोध के पैरामीटर और कॉलबैक के तरीके को तय करने वाला GMSPlaceSearchByTextRequest ऑब्जेक्ट पास करें. कॉलबैक का तरीका, GMSPlaceSearchByTextResultCallback टाइप का होना चाहिए, ताकि जवाब को मैनेज किया जा सके.

GMSPlaceSearchByTextRequest ऑब्जेक्ट, अनुरोध के लिए सभी ज़रूरी और वैकल्पिक पैरामीटर के बारे में बताता है. ज़रूरी पैरामीटर में ये शामिल हैं:

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

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

Places Swift SDK

let restriction = GMSPlaceRectangularLocationOption(
      northEast: CLLocationCoordinate2D(latitude: 20, longitude: 30),
      southWest: CLLocationCoordinate2D(latitude: 40, longitude: 50)
)
let searchByTextRequest = SearchByTextRequest(
        textQuery: "pizza in New York",
        placeProperties: [ .name, .placeID ],
        locationRestriction: restriction,
        includedType: .restaurant,
        maxResultCount: 5,
        minRating: 3.5,
        priceLevels: [ .moderate, .inexpensive ],
        isStrictTypeFiltering: true
)
switch await placesClient.searchByText(with: searchByTextRequest) {
case .success(let places):
  // Handle places
case .failure(let placesError):
  // Handle error
}

Swift

// Create the GMSPlaceSearchByTextRequest object.
let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.placeID].map {$0.rawValue}
let request = GMSPlaceSearchByTextRequest(textQuery:"pizza in New York", placeProperties:myProperties)
request.isOpenNow = true
request.includedType = "restaurant"
request.maxResultCount = 5
request.minRating = 3.5
request.rankPreference = .distance
request.isStrictTypeFiltering = true
request.locationBias =  GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)

// Array to hold the places in the response
var placeResults: [GMSPlace] = []

let callback: GMSPlaceSearchByTextResultCallback = { [weak self] results, error in
  guard let self, error == nil else {
    if let error {
      print(error.localizedDescription)
    }
    return
  }
  guard let results = results as? [GMSPlace] else {
    return
  }
  placeResults = results
}

GMSPlacesClient.shared().searchByText(with: request, callback: callback)

Objective-C

// Create the GMSPlaceSearchByTextRequest object.
GMSPlaceSearchByTextRequest *request =
    [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyName, GMSPlacePropertyPlaceID]];
request.isOpenNow = YES;
request.includedType = @"restaurant";
request.maxResultCount = 5;
request.minRating = 3.5;
request.rankPreference = GMSPlaceSearchByTextRankPreferenceDistance;
request.isStrictTypeFiltering = YES;
request.priceLevels = @[ @(kGMSPlacesPriceLevelFree), @(kGMSPlacesPriceLevelCheap) ];
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0);

// Array to hold the places in the response
_placeResults = [NSArray array];

// Create the GMSPlaceSearchByTextRequest object.
[_placesClient searchByTextWithRequest:request
    callback:^(NSArray<GMSPlace *> *_Nullable placeResults, NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"An error occurred %@", [error localizedDescription]);
        return;
      } else {
        if (placeResults.count > 0) {
          // Get list of places.
          _placeResults = placeResults;
      }
    }
  }
];

टेक्स्ट से खोजने की सुविधा के जवाब

टेक्स्ट से खोजने की सुविधा वाला एपीआई, GMSPlace ऑब्जेक्ट के तौर पर, मैच होने वाले नतीजों का कलेक्शन दिखाता है. इसमें, मैच होने वाली हर जगह के लिए एक GMSPlace ऑब्जेक्ट होता है.

अटैचमेंट खोले जाने का स्टेटस देखना

GMSPlacesClient ऑब्जेक्ट में, isOpenWithRequest (Swift में isOpenRequest और GooglePlacesSwift में isPlaceOpenRequest) नाम का एक मेंबर फ़ंक्शन होता है. यह फ़ंक्शन, कॉल में बताए गए समय के आधार पर, जगह के खुले होने या बंद होने की जानकारी देता है.

यह तरीका, GMSPlaceIsOpenWithRequest टाइप का एक आर्ग्युमेंट लेता है. इसमें ये शामिल होते हैं:

  • GMSPlace ऑब्जेक्ट या जगह का आईडी बताने वाली स्ट्रिंग. ज़रूरी फ़ील्ड के साथ Place ऑब्जेक्ट बनाने के बारे में ज़्यादा जानने के लिए, जगह की जानकारी देखें.
  • NSDate (Obj-C) या Date (Swift) ऑब्जेक्ट, जो उस समय के बारे में बताता है जिसकी आपको जांच करनी है. हालांकि, यह ज़रूरी नहीं है. अगर कोई समय तय नहीं किया गया है, तो डिफ़ॉल्ट रूप से 'अभी' को चुना जाता है.
  • जवाब को मैनेज करने के लिए, GMSPlaceOpenStatusResponseCallback तरीका.
  • >

GMSPlaceIsOpenWithRequest तरीके के लिए, GMSPlace ऑब्जेक्ट में इन फ़ील्ड को सेट करना ज़रूरी है:

  • GMSPlacePropertyUTCOffsetMinutes
  • GMSPlacePropertyBusinessStatus
  • GMSPlacePropertyOpeningHours
  • GMSPlacePropertyCurrentOpeningHours
  • GMSPlacePropertySecondaryOpeningHours

अगर Place ऑब्जेक्ट में ये फ़ील्ड नहीं दिए गए हैं या कोई जगह का आईडी पास किया जाता है, तो यह तरीका उन्हें फ़ेच करने के लिए GMSPlacesClient GMSFetchPlaceRequest: का इस्तेमाल करता है.

isOpenWithRequest का जवाब

isOpenWithRequest, GMSPlaceIsOpenResponse ऑब्जेक्ट दिखाता है. इसमें status नाम की बूलियन वैल्यू होती है. इससे पता चलता है कि कारोबार खुला है, बंद है या उसका स्टेटस पता नहीं है.

भाषा खुले होने पर वैल्यू कारोबार बंद होने पर वैल्यू स्थिति की जानकारी न होने पर वैल्यू
Places Swift true false nil
Swift .open .closed .unknown
Objective-C GMSPlaceOpenStatusOpen GMSPlaceOpenStatusClosed GMSPlaceOpenStatusUnknown

isOpenWithRequest के लिए बिलिंग

  • GMSPlacePropertyUTCOffsetMinutes और GMSPlacePropertyBusinessStatus फ़ील्ड के लिए, बेसिक डेटा एसकेयू के तहत शुल्क लिया जाता है. कारोबार के खुले होने के समय की बाकी जानकारी के लिए, Place Details Enterprise SKU के तहत शुल्क लिया जाता है.
  • अगर आपके GMSPlace ऑब्जेक्ट में पिछली किसी क्वेरी की वजह से ये फ़ील्ड पहले से मौजूद हैं, तो आपसे फिर से शुल्क नहीं लिया जाएगा.

उदाहरण: GMSPlaceIsOpenWithRequest का अनुरोध करें

यहां दिए गए उदाहरण में, किसी मौजूदा GMSPlace ऑब्जेक्ट में GMSPlaceIsOpenWithRequest को शुरू करने का तरीका बताया गया है.

Places Swift SDK

        let isOpenRequest = IsPlaceOpenRequest(place: place)
        switch await placesClient.isPlaceOpen(with: isOpenRequest) {
          case .success(let isOpenResponse):
            switch isOpenResponse.status {
              case true:
                // Handle open
              case false:
                // Handle closed
              case nil:
                // Handle unknown
          case .failure(let placesError):
            // Handle error
        }
        

Swift

    let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil)
      GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in
        if let error = error {
          // Handle Error
        }
        switch response.status {
          case .open:
            // Handle open
          case .closed:
            // Handle closed
          case .unknown:
            // Handle unknown
        }
      }
        

Objective-C

          GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil];

          [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) {
            if (error) {
              // Handle error
            }

            switch (response.status) {
              case GMSPlaceOpenStatusOpen:
                // Handle open
              case GMSPlaceOpenStatusClosed:
                // Handle closed
              case GMSPlaceOpenStatusUnknown:
                // Handle unknown
            }
          }];
          

पेज पर नंबर डालना

टेक्स्ट से खोजने की सुविधा, पेजिनेशन ऑब्जेक्ट उपलब्ध कराती है. यह hasNextPage बूलियन है, जो टेक्स्ट से खोजने की सुविधा को किए गए कॉल के पहले जवाब में मिलता है. अगर अगला पेज उपलब्ध है, तो उसे लोड करने के लिए fetchNextPage() फ़ंक्शन का इस्तेमाल किया जा सकता है.

यहां दिए गए उदाहरण में, अगला पेज उपलब्ध है या नहीं, यह देखने और फिर पेज को लोड करने का तरीका बताया गया है.

Swift

public struct PlaceSearchPagination {
  public var pageSize: Int
  public var hasNextPage: Bool
  public func fetchNextPage() async -> SearchByTextResponse
}

public struct SearchByTextResponse {
  public var pagination: PlaceSearchPagination?
  public var places: [Place]?
  public var error: PlaceError?
}

PlacesClient.swift
public func searchByText(with request: SearchByTextRequest) async -> SearchByTextResponse

let searchByTextRequest = SearchByTextRequest(textQuery: "restaurants",
    placeProperties: [PlaceProperty.displayName],
    locationBias: CircularCoordinateRegion(center: CLLocationCoordinate2D(latitude: 0, longitude: 0), radius: 100))

searchByTextRequest.maxResultCount = 10

var searchByTextResponse = await PlacesClient.shared.searchByText(with: searchByTextRequest)
print("Found \(searchByTextResponse.places.count) places")

searchByTextResponse.pagination.pageSize = 20

// Continue making requests until no more results are found in pagination object
while searchByTextResponse.pagination.hasNextPage {
    searchByTextResponse = await searchByTextResponse.pagination.fetchNextPage()
    print("Found \(searchByTextResponse.places.count) places")
}
    

Objective-C

GMSPlaceSearchByTextRequest *searchByTextRequest = [[GMSPlaceSearchByTextRequest alloc]
    initWithTextQuery: @"restaurants"
    placeProperties: @[GMSPlacePropertyAll]];

searchByTextRequest.maxResultCount = 10;

__block void (^recursiveCallback)(GMSPlaceSearchByTextResponse *, NSError *);
recursiveCallback = ^(GMSPlaceSearchByTextResponse * response, NSError* error) {
    NSLog(@"Found %d places", response.places.count);
    if (response.pagination.hasNextPage) {
      [response.pagination fetchNextPageWithCompletion:recursiveCallback];
   }
};
[GMSPlacesClient.sharedClient searchByTextWithRequest:searchByTextRequest  
                                           completion:recursiveCallback];
    

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

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

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

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

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

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

  • textQuery

    वह टेक्स्ट स्ट्रिंग जिसे खोजना है. उदाहरण के लिए: "रेस्टोरेंट", "123 मेन स्ट्रीट" या "सैन फ़्रांसिस्को में घूमने के लिए सबसे अच्छी जगह".

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

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

  • includedType

    यह नतीजों को उन जगहों तक सीमित करता है जो टेबल ए में बताए गए टाइप से मैच करती हैं. सिर्फ़ एक टाइप की वैल्यू दी जा सकती है. उदाहरण के लिए:

    • let request = SearchByTextRequest()
      request.includedType = "bar"
    • let request = SearchByTextRequest()
      request.includedType = "pharmacy"
  • isOpenNow

    अगर true है, तो सिर्फ़ उन जगहों की जानकारी दिखाएं जो क्वेरी भेजे जाने के समय खुली हों. अगर false है, तो सभी कारोबारों की जानकारी दिखाएं. भले ही, वे खुले हों या नहीं. अगर इस पैरामीटर को false पर सेट किया जाता है, तो Google Places के डेटाबेस में ऐसी जगहों की जानकारी दिखती है जिनके कारोबार के खुले होने का समय नहीं बताया गया है.

  • isStrictTypeFiltering

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

  • locationBias

    खोजने के लिए कोई हिस्सा तय करता है. यह जगह, बायस के तौर पर काम करती है. इसका मतलब है कि चुनी गई जगह के आस-पास के नतीजे दिखाए जा सकते हैं. इनमें, चुनी गई जगह से बाहर के नतीजे भी शामिल हैं.

    locationRestriction या locationBias में से किसी एक की जानकारी दी जा सकती है, लेकिन दोनों की नहीं. locationRestriction का मतलब है कि नतीजे, तय किए गए इलाके के अंदर ही होने चाहिए. वहीं, locationBias का मतलब है कि नतीजे, तय किए गए इलाके के आस-पास होने चाहिए, लेकिन वे इलाके से बाहर भी हो सकते हैं.

    इलाके को रेक्टैंगल व्यूपोर्ट या सर्कल के तौर पर तय करें.

    • सर्कल को सेंटर पॉइंट और मीटर में रेडियस से तय किया जाता है. रेडियस, 0.0 से 50000.0 के बीच होना चाहिए. इसमें ये दोनों भी शामिल हैं. डिफ़ॉल्ट रेडियस 0.0 है. उदाहरण के लिए:

      let request = SearchByTextRequest()
      request.locationBias =  GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
    • रेक्टैंगल, अक्षांश-देशांतर व्यूपोर्ट होता है. इसे दो डायगनल के तौर पर दिखाया जाता है. ये डायगनल, विपरीत दिशा में मौजूद कम और ज़्यादा पॉइंट होते हैं. सबसे कम वैल्यू वाला पॉइंट, रेक्टैंगल के दक्षिण-पश्चिम कोने को दिखाता है. वहीं, सबसे ज़्यादा वैल्यू वाला पॉइंट, रेक्टैंगल के उत्तर-पूर्व कोने को दिखाता है.

      व्यूपोर्ट को एक बंद इलाका माना जाता है. इसका मतलब है कि इसमें इसकी सीमा शामिल होती है. अक्षांश की सीमाएं -90 से 90 डिग्री के बीच होनी चाहिए. साथ ही, देशांतर की सीमाएं -180 से 180 डिग्री के बीच होनी चाहिए:

      • अगर low = high है, तो व्यूपोर्ट में वह सिंगल पॉइंट शामिल होता है.
      • अगर low.longitude > high.longitude है, तो देशांतर की रेंज उल्टी हो जाती है. इसका मतलब है कि व्यूपोर्ट, 180 डिग्री देशांतर की लाइन को पार कर जाता है.
      • अगर low.longitude = -180 डिग्री और high.longitude = 180 डिग्री है, तो व्यूपोर्ट में सभी देशांतर शामिल होते हैं.
      • अगर low.longitude = 180 डिग्री और high.longitude = -180 डिग्री है, तो देशांतर की रेंज खाली है.
      • अगर low.latitude > high.latitude है, तो अक्षांश की रेंज खाली है.
  • locationRestriction

    खोजने के लिए कोई हिस्सा तय करता है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते. इलाके को रेक्टैंगल व्यूपोर्ट के तौर पर तय करें. व्यूपोर्ट तय करने के बारे में जानकारी पाने के लिए, locationBias का ब्यौरा देखें.

    locationRestriction या locationBias में से किसी एक की जानकारी दी जा सकती है, लेकिन दोनों की नहीं. locationRestriction का मतलब है कि नतीजे, तय किए गए इलाके के अंदर ही होने चाहिए. वहीं, locationBias का मतलब है कि नतीजे, तय किए गए इलाके के आस-पास होने चाहिए, लेकिन वे इलाके से बाहर भी हो सकते हैं.

  • maxResultCount

    इससे यह तय होता है कि जगह के ज़्यादा से ज़्यादा कितने नतीजे दिखाए जाएं. यह संख्या 1 से 20 (डिफ़ॉल्ट) के बीच होनी चाहिए.

  • minRating

    नतीजों को सिर्फ़ उन नतीजों तक सीमित करता है जिनकी औसत उपयोगकर्ता रेटिंग, इस सीमा से ज़्यादा या इसके बराबर है. वैल्यू, 0.0 और 5.0 के बीच की होनी चाहिए. हालांकि, इन दोनों में से भी कोई संख्या हो सकती है. साथ ही, वैल्यू 0.5 के इंक्रीमेंट में होनी चाहिए. उदाहरण के लिए: 0, 0.5, 1.0, ... , 5.0. वैल्यू को सबसे नज़दीकी 0.5 तक राउंड अप किया जाता है. उदाहरण के लिए, 0.6 की वैल्यू, 1.0 से कम रेटिंग वाले सभी नतीजों को हटा देती है.

  • priceLevels

    खोज के नतीजों को उन जगहों तक सीमित करें जिन्हें कीमत के कुछ लेवल पर मार्क किया गया है. डिफ़ॉल्ट रूप से, सभी प्राइस लेवल चुने जाते हैं.

    PriceLevel से तय की गई एक या उससे ज़्यादा वैल्यू का ऐरे डालें.

    उदाहरण के लिए:

        let request = SearchByTextRequest()
        request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
  • rankPreference

    इससे यह तय होता है कि क्वेरी के टाइप के आधार पर, जवाब में नतीजों को किस तरह रैंक किया जाएगा:

    • "दिल्ली में रेस्टोरेंट" जैसी कैटगरी वाली क्वेरी के लिए, डिफ़ॉल्ट रूप से .relevance (खोज के नतीजों को उनकी प्रासंगिकता के हिसाब से रैंक करें) को चुना जाता है. rankPreference को .relevance या .distance (दूरी के हिसाब से नतीजों को रैंक करें) पर सेट किया जा सकता है.
    • "Mountain View, CA" जैसी गैर-कैटगरी वाली क्वेरी के लिए, हमारा सुझाव है कि आप rankPreference को सेट न करें.
  • regionCode

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

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

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

  • shouldIncludePureServiceAreaBusinesses

    अगर true है, तो खोज के नतीजों में सिर्फ़ घर या दुकान पर सेवा देने वाले कारोबार दिखते हैं. पूरी तरह से घर या दुकान पर सेवा देने वाला कारोबार, ग्राहकों के पते पर जाकर सेवा मुहैया कराता है या डिलीवरी देता है. हालांकि, अपने कारोबार के पते पर ग्राहकों को सेवा नहीं देता है.

    उदाहरण के लिए:

    Places Swift SDK

    let request = SearchByTextRequest()
    request.shouldIncludePureServiceAreaBusinesses = true

    Swift

    let request = SearchByTextRequest()
    request.shouldIncludePureServiceAreaBusinesses: true

    Objective-C

    GMSPlaceSearchByTextRequest *request =
        [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyAll]];
    request.shouldIncludePureServiceAreaBusinesses = YES;

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

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

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

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