मौजूदा जगह

प्लैटफ़ॉर्म चुनें: Android iOS

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