iOS के लिए Places SDK टूल, आपके ऐप्लिकेशन को बेहतर जानकारी देता है जगहों के बारे में जानकारी, जैसे कि जगह का नाम और पता, भौगोलिक स्थिति अक्षांश/देशांतर निर्देशांकों के आधार पर तय की गई जगह की जानकारी (जैसे कि जैसे, नाइट क्लब, पालतू जानवरों की दुकान, संग्रहालय वगैरह. इस जानकारी को ऐक्सेस करने के लिए खास जगह के लिए, आप जगह के आईडी का इस्तेमाल कर सकते हैं. यह एक ऐसा स्थायी आइडेंटिफ़ायर होता है जो किसी जगह की पहचान करता है.
जगह की जानकारी
कॉन्टेंट बनाने
GMSPlace
क्लास में किसी खास जगह के बारे में जानकारी होती है. तो आप
GMSPlace
ऑब्जेक्ट को बेचते हैं:
- कॉल करें
GMSPlacesClient findPlaceLikelihoodsFromUserLocationWithPlaceFields:
. इसके लिए गाइड देखें मौजूदा स्थान प्राप्त करना. - कॉल करें
GMSPlacesClient fetchPlaceFromPlaceID:
,GMSPlaceField
पास कर रहा है, जगह का आईडी, और कॉलबैक का तरीका. स्थान विवरण अनुरोधों के लिए, अगर आप ऐसा नहीं करते हैं तो अनुरोध के साथ कम से कम एक फ़ील्ड का इस्तेमाल करें या अगरfields
को छोड़ दिया जाए, तो पैरामीटर का इस्तेमाल करते हैं, तो सभी संभावित फ़ील्ड दिखाए जाते हैं और आपको के हिसाब से बिल भेजा जाएगा. YouTube ऐप्लिकेशन में साइन इन करने के लिए आईडी के हिसाब से जगह की जानकारी.
किसी जगह का अनुरोध करते समय, आपको यह बताना होगा कि जगह की जानकारी के किस तरह के डेटा को
वापसी. ऐसा करने के लिए, डेटा तय करते हुए 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 में शामिल हैं.
हर जगह का आईडी सिर्फ़ एक जगह से जुड़ा हो सकता है. हालांकि, एक जगह का ज़्यादा आईडी मौजूद हो सकता है एक स्थान आईडी से ज़्यादा.
कुछ स्थितियों की वजह से, किसी जगह का नया आईडी मिल सकता है. उदाहरण के लिए, कारोबार की किसी नई जगह पर शिफ़्ट होने पर ऐसा हो सकता है.
जगह का आईडी बताकर किसी जगह का अनुरोध करते समय, आपको भरोसा हो सकता है कि आपको जवाब में हमेशा एक ही स्थान मिलेगा (अगर स्थान स्थिर है मौजूद है). हालांकि, ध्यान रखें कि जवाब में एक स्थान आईडी हो सकता है जो जो आपके अनुरोध में मौजूद है.
ज़्यादा जानकारी के लिए, देखें जगह के आईडी की खास जानकारी.