मौजूदा जगह

iOS के लिए Places SDK टूल का इस्तेमाल करके, यह पता लगाया जा सकता है कि डिवाइस फ़िलहाल कहां है. इसका मतलब है कि डिवाइस की मौजूदा जगह की जानकारी के हिसाब से जगह. जगहों के उदाहरणों में, स्थानीय कारोबार, लोकप्रिय जगहें, और भौगोलिक जगहें शामिल हैं.

  1. जगह की जानकारी की अनुमति का अनुरोध करना
  2. इस्तेमाल करने की सीमाएं
  3. मौजूदा जगह की जानकारी पाना
  4. अपने ऐप्लिकेशन में एट्रिब्यूशन दिखाना

जगह की जानकारी ऐक्सेस करने की अनुमति का अनुरोध करना

अगर आपका ऐप्लिकेशन GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: का इस्तेमाल करता है, तो आपके ऐप्लिकेशन को जगह की जानकारी की सेवाओं का इस्तेमाल करने के लिए अनुमति का अनुरोध करना होगा. उपयोगकर्ता को यह बताने के लिए कि आपको जगह की जानकारी की सेवाओं की ज़रूरत क्यों है, Info.plist फ़ाइल में NSLocationWhenInUseUsageDescription कुंजी जोड़ें. उदाहरण के लिए:

<key>NSLocationWhenInUseUsageDescription</key>
<string>Show your location on the map</string>

अगर आपको ऐप्लिकेशन के बैकग्राउंड में होने पर, पुष्टि करने वाला डायलॉग ट्रिगर किए बिना कॉल करना है, तो कॉल करने से पहले यह तरीका अपनाएं: findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:

  1. अपनी Info.plistफ़ाइल में NSLocationAlwaysUsageDescription कुंजी जोड़ें.
  2. तरीके को कॉल करने से पहले, CLLocationManager के किसी भी इंस्टेंस पर requestAlwaysAuthorization को कॉल करें.

CLLocationManager से अनुमति का अनुरोध करने के लिए, यह तरीका अपनाएं:

Swift

    locationManager.requestAlwaysAuthorization()
    

Objective-C

    [self.locationManager requestAlwaysAuthorization];
    

मौजूदा जगह की जानकारी पाना

डिवाइस फ़िलहाल जिस स्थानीय कारोबार या दूसरी जगह पर है उसे ढूंढने के लिए, GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: को कॉल करें. ये पैरामीटर शामिल करें:

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

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

एपीआई, तय किए गए कॉलबैक तरीके को शुरू करता है और GMSPlaceLikelihood ऑब्जेक्ट का कलेक्शन दिखाता है.

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

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

Swift

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
                                          UInt(GMSPlaceField.placeID.rawValue))!
placesClient?.findPlaceLikelihoodsFromCurrentLocation(withPlaceFields: fields, callback: {
  (placeLikelihoodList: Array<GMSPlaceLikelihood>?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }

  if let placeLikelihoodList = placeLikelihoodList {
    for likelihood in placeLikelihoodList {
      let place = likelihood.place
      print("Current Place name \(String(describing: place.name)) at likelihood \(likelihood.likelihood)")
      print("Current PlaceID \(String(describing: place.placeID))")
    }
  }
})

Objective-C

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);
[_placesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:fields callback:^(NSArray<GMSPlaceLikelihood *> * _Nullable likelihoods, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (likelihoods != nil) {
    for (GMSPlaceLikelihood *likelihood in likelihoods) {
      GMSPlace *place = likelihood.place;
      NSLog(@"Current place name: %@", place.name);
      NSLog(@"Place ID: %@", place.placeID);
    }
  }
}];

संभावना की वैल्यू के बारे में जानकारी:

  • इस संभावना से पता चलता है कि किसी एक अनुरोध के लिए, दिखाई गई जगहों की सूची में से किसी जगह के सबसे सही मैच होने की संभावना कितनी है. अलग-अलग अनुरोधों के लिए, खोज के नतीजों में दिखने की संभावनाओं की तुलना नहीं की जा सकती.
  • संभावना की वैल्यू 0 से 1.0 के बीच होगी.
  • GMSPlaceLikelihood ऑब्जेक्ट के दिखाए गए कलेक्शन में, किसी ऑब्जेक्ट के दिखने की संभावनाओं का कुल योग हमेशा 1.0 से कम या उसके बराबर होता है. ध्यान दें कि ज़रूरी नहीं है कि वैल्यू का योग 1.0 हो.

उदाहरण के लिए, अगर सही जगह A होने की संभावना 55% और B होने की संभावना 35% है, तो संभावनाओं के कलेक्शन में दो एलिमेंट होंगे: A की संभावना 0.55 और B की संभावना 0.35.

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

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