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

प्लैटफ़ॉर्म चुनें: 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;
      }
    }
  }
];

टेक्स्ट की मदद से खोज करने पर मिलने वाले जवाब

Text Search API, 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 फ़ील्ड के लिए, बुनियादी डेटा एसकेयू के तहत शुल्क लिया जाता है. खुलने के समय के बाकी घंटे, जगह की जानकारी देने वाले 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

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

    • 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 (दूरी के हिसाब से नतीजों को रैंक करें) पर सेट किया जा सकता है.
    • "माउंटेन व्यू, कैलिफ़ोर्निया" जैसी कैटगरी से जुड़ी क्वेरी के लिए, हमारा सुझाव है कि आप rankPreference को सेट न करें.
  • regionCode

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

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

    ज़्यादातर CLDR कोड, ISO 3166-1 कोड के जैसे ही होते हैं. हालांकि, कुछ मामलों में ये अलग होते हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 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 ऑब्जेक्ट में एट्रिब्यूशन और लेखक के एट्रिब्यूशन शामिल हो सकते हैं. अगर आपने अपने ऐप्लिकेशन में समीक्षा दिखाई है, तो आपको एट्रिब्यूशन या लेखक का एट्रिब्यूशन भी दिखाना होगा.

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