मौजूदा जगह (लेगसी)

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

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

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

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

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

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

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

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

Swift

    locationManager.requestAlwaysAuthorization()
    

Objective-C

    [self.locationManager requestAlwaysAuthorization];
    

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

डिवाइस की मौजूदा जगह के आस-पास मौजूद स्थानीय कारोबार या अन्य जगह का पता लगाने के लिए, GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields: को कॉल करें. इन पैरामीटर को शामिल करें:

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

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

एपीआई, कॉलबैक के लिए तय किए गए तरीके को कॉल करता है. इससे 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: से मिली जानकारी दिखाता है, तो उसे एट्रिब्यूशन भी दिखाने होंगे. एट्रिब्यूशन के बारे में ज़्यादा जानें.