जगह की जानकारी

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

iOS के लिए Places SDK टूल, आपके ऐप्लिकेशन को बेहतर जानकारी देता है जगहों के बारे में जानकारी, जैसे कि जगह का नाम और पता, भौगोलिक स्थिति अक्षांश/देशांतर निर्देशांकों के आधार पर तय की गई जगह की जानकारी (जैसे कि जैसे, नाइट क्लब, पालतू जानवरों की दुकान, संग्रहालय वगैरह. इस जानकारी को ऐक्सेस करने के लिए खास जगह के लिए, आप जगह के आईडी का इस्तेमाल कर सकते हैं. यह एक ऐसा स्थायी आइडेंटिफ़ायर होता है जो किसी जगह की पहचान करता है.

जगह की जानकारी

कॉन्टेंट बनाने GMSPlace क्लास में किसी खास जगह के बारे में जानकारी होती है. तो आप GMSPlace ऑब्जेक्ट को बेचते हैं:

किसी जगह का अनुरोध करते समय, आपको यह बताना होगा कि जगह की जानकारी के किस तरह के डेटा को वापसी. ऐसा करने के लिए, डेटा तय करते हुए GMSPlaceField पास करें लौटाने के लिए टाइप करें. यह एक महत्वपूर्ण विचार है, क्योंकि इससे हर अनुरोध के लिए शुल्क लिया जाता है.

क्योंकि स्थान डेटा परिणाम रिक्त नहीं हो सकते, केवल स्थान डेटा वाले नतीजे दिखाए जाते हैं (उदाहरण के लिए, अगर किसी अनुरोध की गई जगह में कोई फ़ोटो नहीं है, तो नतीजे में photos फ़ील्ड मौजूद नहीं होगा).

नीचे दिए गए उदाहरण में, दो फ़ील्ड वैल्यू की सूची दी गई है अनुरोध करने पर मिले डेटा के बारे में बताने के लिए:

Swift

      // A hotel in Saigon with an attribution.
      let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

      // Specify the place data types to return.
      let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
      UInt(GMSPlaceField.placeID.rawValue))
  

Objective-C

      // A hotel in Saigon with an attribution.
      NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

      // Specify the place data types to return.
      GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);
  

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

कॉन्टेंट बनाने GMSPlace क्लास में नीचे दिया गया जगह का डेटा शामिल हो सकता है:

  • name – जगह का नाम.
  • editorialSummary – किसी जगह के बारे में आसान जानकारी देता है.
  • placeID – जगह के लिए टेक्स्ट वाला आइडेंटिफ़ायर. मैसेज पढ़ा गया इस पेज के बाकी हिस्से में जगह के आईडी के बारे में ज़्यादा जानें.
  • coordinate – जगह की भौगोलिक जगह, अक्षांश और देशांतर निर्देशांकों के रूप में बताया जाता है.
  • phoneNumber – जगह का फ़ोन नंबर अंतरराष्ट्रीय फ़ॉर्मैट है.
  • formattedAddress – इस ईमेल पते को कोई भी व्यक्ति आसानी से पढ़ सकता है स्थान.

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

    फ़ॉर्मैट किया गया पता, लॉजिकल तरीके से एक या एक से ज़्यादा पते वाले फ़ॉर्मैट में लिखा जाता है कॉम्पोनेंट के तौर पर दिखता है. उदाहरण के लिए, पता "111 8th Avenue, New York, NY" इसमें ये कॉम्पोनेंट शामिल होते हैं: "111" (सड़क का नंबर), "एट्थ ऐवेन्यू" (रूट), "न्यूयॉर्क" (शहर) और "NY" (अमेरिका का राज्य).

    फ़ॉर्मैट किए गए पते को प्रोग्राम के हिसाब से पार्स न करें. इसके बजाय, आपको पते के अलग-अलग कॉम्पोनेंट, जिन्हें एपीआई के जवाब में शामिल किया जाता है लिंक किया गया है.

  • openingHours – जगह के खुले होने का समय (जैसा जिसे GMSOpeningHours से दिखाया गया है). कॉल करें स्थानीय जगह के मुताबिक स्ट्रिंग की सूची पाने के लिए GMSOpeningHours.weekdayText हफ़्ते के हर दिन के खुले रहने के घंटे. GMSOpeningHours.Periods पर कॉल करो ज़्यादा जानकारी के साथ GMSPeriod की सूची देने के लिए यह weekdayText से मिले डेटा के बराबर है. ध्यान दें: अगर कोई जगह हमेशा खुली रहती है, तो समयावधि को इस तरह दिखाया जाता है रविवार को आधी रात को और closeEvent शून्य होता है.
  • currentOpeningHours और secondaryOpeningHours – ऐसे फ़ील्ड जिनमें छुट्टियों के दौरान और किसी जगह के शेड्यूल में कुछ समय के लिए बदलाव किए जाते हैं.
  • addressComponents – इनका कलेक्शन GMSAddressComponent ऑब्जेक्ट, किसी जगह का पता. ये कॉम्पोनेंट यहां दिए गए हैं किसी जगह के पते से जुड़ी स्ट्रक्चर्ड जानकारी निकालने के लिए, उदाहरण के लिए जो शहर में कोई जगह मौजूद है. इन कॉम्पोनेंट का इस्तेमाल न करें पते के फ़ॉर्मैट के लिए; इसके बजाय, formattedAddress का इस्तेमाल करें प्रॉपर्टी, जो स्थानीय जगह के अनुसार फ़ॉर्मैट किया गया पता देती है.

    addressComponents के बारे में इन बातों का ध्यान रखें कलेक्शन:

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

कॉन्टेंट बनाने GMSPlace क्लास में ये मेंबर फ़ंक्शन शामिल हैं:

  • isOpen यह हिसाब लगाता है कि कोई जगह दिए गए समय पर खुली है या नहीं. openingHours के आधार पर और UTCOffsetMinutes, और वर्तमान तारीख और समय.
  • isOpenAtDate यह पता लगाता है कि कोई जगह किसी दी गई तारीख पर खुली है या नहीं. openingHours और UTCOffsetMinutes, और वर्तमान तारीख और समय.
  • खुलने का समय और/या तारीख की जानकारी पाने के लिए, इन फ़ंक्शन का इस्तेमाल करते समय, ओरिजनल fetchPlaceFromPlaceID: या findPlaceLikelihoodsFromUserLocationWithPlaceFields: अनुरोध में GMSPlaceFieldOpeningHours और GMSPlaceFieldUTCOffsetMinutes दोनों शामिल होने चाहिए फ़ील्ड. अगर इनमें से कोई भी फ़ील्ड मौजूद नहीं है, तो नतीजे के तौर पर GMSPlace ऑब्जेक्ट में खुलने का समय या तारीख नहीं होगी और कॉल वापस आ जाएगा GMSPlaceOpenStatusUnknown. सटीक नतीजे पाने के लिए, GMSPlaceFieldBusinessStatus और GMSPlaceFieldUTCOffsetMinutes फ़ील्ड में अपने मूल स्थान के अनुरोध को शामिल करें. अनुरोध न किए जाने पर, यह माना जाता है कि आपका कारोबार किस तरह से काम कर रहा है.

    इस्तेमाल करने का तरीका जानने के लिए, यह वीडियो देखें स्थान विवरण के साथ isOpen.

खास घंटों की जानकारी पाएं

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

Swift

    func examineOpeningHours(place: GMSPlace) {

      // Check if the current opening hours contains a special day that has exceptional hours
      guard let currentOpeningHours = place.currentOpeningHours else { return }
      if let specialDays = currentOpeningHours.specialDays {
        guard !specialDays.isEmpty else { return }
        if let specialDay = specialDays.filter { $0.isExceptional }.first  {
          // Indicate exceptional hours
        }
      }

      // Check if current opening hours contains a truncated time period
      let periods = currentOpeningHours.periods

      if !periods.isEmpty {
        for period in periods {
          let open = period.open
          let close = period.close

          if let open = open {
            let date = open.date

            if open.isTruncated {
              // Indicate truncated time period
            }
          }
        }
      }

      // Check if the place's secondary opening hours indicate when delivery is available
      let secondaryOpeningHours = place.secondaryOpeningHours
      guard let hoursType = secondaryOpeningHours.first?.hoursType else {
      return
      }

      if (hoursType == GMSPlaceHoursTypeDelivery) {
        // Indicate hours where delivery is available
      }
  }

Objective-C

- (void)examineOpeningHours:(GMSPlace *) place {

    // Check if the current opening hours contains a special day that has exceptional hours
    GMSOpeningHours *currentOpeningHours = place.currentOpeningHours;
    if (currentOpeningHours != nil) {
      NSArray<GMSPlaceSpecialDay *> *specialDays = currentOpeningHours.specialDays;
      if ([specialDays count] != 0) {
        for (GMSPlaceSpecialDay *specialDay in specialDays) {
          NSDate *date = specialDay.date;
          if ([specialDay isExceptional]) {
            // Indicate exceptional hours
          }
        }
      }
    }

    // Check if current opening hours contains a truncated time period
    NSArray <GMSPeriod *> * periods = currentOpeningHours.periods;

    if ([periods count] != 0) {
      for (GMSPeriod * period in periods) {
        GMSTimeOfWeek *open = period.open;
        GMSTimeOfWeek *close = period.close;

        if (open) {
          if ([open isTruncated]) {
            // Indicate truncated time period
          }
        }
      }
    }

    // Check if the place's secondary opening hours indicate when delivery is available
    GMSOpeningHours *secondaryOpeningHours = place.secondaryOpeningHours;
    GMSPlaceHoursType hoursType = secondaryOpeningHours.getHoursType;

    if (hoursType == GMSPlaceHoursTypeDelivery) {
      // Indicate hours where delivery is available
    }
}

आईडी के हिसाब से जगह की जानकारी पाएं

जगह का आईडी, एक टेक्स्ट आइडेंटिफ़ायर होता है. इससे किसी जगह की खास पहचान होती है. तय सीमा में iOS के लिए स्थल SDK का उपयोग कर रहे हैं, तो आप किसी GMSPlace ऑब्जेक्ट है. आप जगह के आईडी को सेव कर सकते हैं और उसका इस्तेमाल GMSPlace फिर से ऑब्जेक्ट सबमिट करें.

आईडी से जगह की जानकारी पाने के लिए, इस नंबर पर कॉल करें GMSPlacesClient fetchPlaceFromPlaceID: ने ये पैरामीटर पास किए हैं:

  • प्लेस आईडी वाली स्ट्रिंग.
  • एक या उससे ज़्यादा GMSPlaceField, जिसमें दिखाए जाने वाले डेटा टाइप की जानकारी दी गई हो.
  • अपने-आप पूरी होने वाली क्वेरी को पूरा करने के लिए कॉल किए जाने पर सेशन टोकन. अगर ऐसा नहीं है, तो कोई वैल्यू न जोड़ें.
  • नतीजा मैनेज करने के लिए GMSPlaceResultCallback.

API, दिए गए कॉलबैक तरीके को शुरू करता है और GMSPlace ऑब्जेक्ट है. अगर जगह की जानकारी नहीं मिलती है, तो इसका मतलब है कि जगह की जानकारी देने वाला ऑब्जेक्ट शून्य है.

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeID, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeID placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

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

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

जगह के आईडी के बारे में ज़्यादा जानकारी

iOS के लिए, Places SDK टूल में इस्तेमाल की गई जगह का आईडी और आइडेंटिफ़ायर एक ही होता है इसमें इस्तेमाल किया गया Places API, Android के लिए Places SDK टूल और अन्य Google API में शामिल हैं.

हर जगह का आईडी सिर्फ़ एक जगह से जुड़ा हो सकता है. हालांकि, एक जगह का ज़्यादा आईडी मौजूद हो सकता है एक स्थान आईडी से ज़्यादा.

कुछ स्थितियों की वजह से, किसी जगह का नया आईडी मिल सकता है. उदाहरण के लिए, कारोबार की किसी नई जगह पर शिफ़्ट होने पर ऐसा हो सकता है.

जगह का आईडी बताकर किसी जगह का अनुरोध करते समय, आपको भरोसा हो सकता है कि आपको जवाब में हमेशा एक ही स्थान मिलेगा (अगर स्थान स्थिर है मौजूद है). हालांकि, ध्यान रखें कि जवाब में एक स्थान आईडी हो सकता है जो जो आपके अनुरोध में मौजूद है.

ज़्यादा जानकारी के लिए, देखें जगह के आईडी की खास जानकारी.