iOS के लिए Places SDK टूल (नया) आपके ऐप्लिकेशन को बेहतर जानकारी देता है जगहों के बारे में जानकारी, जैसे कि जगह का नाम और पता, भौगोलिक स्थिति अक्षांश/देशांतर निर्देशांकों के आधार पर तय की गई जगह की जानकारी (जैसे कि जैसे, नाइट क्लब, पालतू जानवरों की दुकान, संग्रहालय वगैरह. इस जानकारी को ऐक्सेस करने के लिए खास जगह के लिए, आप जगह के आईडी का इस्तेमाल कर सकते हैं. यह एक ऐसा स्थायी आइडेंटिफ़ायर होता है जो किसी जगह की पहचान करता है.
स्थान विवरण पाएं
कॉन्टेंट बनाने
GMSPlace
क्लास में किसी खास जगह के बारे में जानकारी होती है. इसमें वे सभी डेटा फ़ील्ड भी शामिल होते हैं जो
जगह के डेटा फ़ील्ड (नया). पाएं
GMSPlace
कॉल करके आपत्ति करें
GMSPlacesClient
fetchPlaceWithRequest:
,
एक GMSFetchPlaceRequest
ऑब्जेक्ट पास कर रहा है और
कॉलबैक का तरीका
GMSPlaceResultCallback
.
GMSFetchPlaceRequest
ऑब्जेक्ट बताता है:
- (ज़रूरी है) जगह का आईडी, Google Places में किसी जगह का एक यूनीक आइडेंटिफ़ायर डेटाबेस और Google Maps पर दिखते हैं.
- (ज़रूरी है)
GMSPlace
ऑब्जेक्ट में दिखाए जाने वाले फ़ील्ड की सूची. इसे फ़ील्ड मास्क, जैसा किGMSPlaceProperty
. अगर आप फ़ील्ड सूची में कम से कम एक फ़ील्ड को शामिल नहीं करते हैं या अगर आप फ़ील्ड को छोड़ देते हैं फ़ील्ड सूची का इस्तेमाल करने देता है, तो कॉल एक गड़बड़ी दिखाता है. - (ज़रूरी नहीं) जवाब को फ़ॉर्मैट करने के लिए इस्तेमाल किया गया क्षेत्र का कोड.
- (ज़रूरी नहीं) ऑटोकंप्लीट (नया) सेशन को खत्म करने के लिए इस्तेमाल किया जाने वाला सेशन टोकन.
स्थान की जानकारी के लिए अनुरोध करें
इस उदाहरण में, आईडी के आधार पर जगह की जानकारी दी गई है. यह इन पैरामीटर को पास करती है:
ChIJV4k8_9UodTERU5KXbkYpSYs
का जगह का आईडी.- जगह का नाम और वेबसाइट का यूआरएल दिखाने वाली फ़ील्ड सूची.
GMSPlaceResultCallback
का इस्तेमाल करें.
API, दिए गए कॉलबैक तरीके को शुरू करता है और
GMSPlace
ऑब्जेक्ट है. अगर जगह की जानकारी नहीं मिलती है, तो इसका मतलब है कि जगह की जानकारी देने वाला ऑब्जेक्ट शून्य है.
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue} // Create the GMSFetchPlaceRequest object. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties, sessionToken: nil) client.fetchPlace(with: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in guard let place, error == nil else { return } print("Place found: \(String(describing: place.name))") })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. NSArray<NSString *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite]; // Create the GMSFetchPlaceRequest object. GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties sessionToken:nil]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { NSLog(@"Place Found: %@", place.name); NSLog(@"The place URL: %@", place.website); } }];
GooglePlacesSwift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" let fetchPlaceRequest = FetchPlaceRequest( placeID: placeID, placeProperties: [.name, .website] ) switch await placesClient.fetchPlace(with: fetchPlaceRequest) { case .success(let place): // Handle place case .failure(let placesError): // Handle error }
जगह की जानकारी से जुड़ा जवाब
जगह की जानकारी की मदद से,
GMSPlace
ऑब्जेक्ट में जगह की जानकारी है. फ़ील्ड सूची में दिए गए फ़ील्ड ही, GMSPlace
ऑब्जेक्ट में भरे जाते हैं.
खुलने की स्थिति पाएं
GMSPlacesClient
ऑब्जेक्ट में isOpenWithRequest
नाम का एक सदस्य फ़ंक्शन होता है (Swift में isOpenRequest
और Google PlacesSwift में isPlaceOpenRequest
) जो कॉल में दिए गए समय के आधार पर, यह दिखाता है कि कोई जगह अभी खुली है या नहीं.
इस तरीके में, GMSPlaceIsOpenWithRequest
टाइप का एक आर्ग्युमेंट इस्तेमाल किया जाता है, जिसमें ये शामिल हैं:
GMSPlace
ऑब्जेक्ट या जगह के आईडी को बताने वाली स्ट्रिंग. ज़रूरी फ़ील्ड के साथ 'जगह की जानकारी' ऑब्जेक्ट बनाने के बारे में ज़्यादा जानकारी के लिए, जगह की जानकारी देखें.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है- एक वैकल्पिक
NSDate
(Obj-C) याDate
(Swift) ऑब्जेक्ट, जिसमें वह समय बताया गया है जब आपको जांच करनी है. अगर कोई समय तय नहीं किया गया है, तो डिफ़ॉल्ट समय को सेट किया जाता है. - रिस्पॉन्स को मैनेज करने के लिए,
GMSPlaceOpenStatusResponseCallback
तरीका. >
GMSPlaceIsOpenWithRequest
तरीके के लिए, GMSPlace
ऑब्जेक्ट में इन फ़ील्ड को सेट करना ज़रूरी है:
GMSPlacePropertyUTCOffsetMinutes
GMSPlacePropertyBusinessStatus
GMSPlacePropertyOpeningHours
GMSPlacePropertyCurrentOpeningHours
GMSPlacePropertySecondaryOpeningHours
अगर 'जगह' ऑब्जेक्ट में ये फ़ील्ड नहीं दिए गए हैं या अगर आपने जगह का आईडी पास किया है, तो उन्हें फ़ेच करने के लिए यह तरीका GMSPlacesClient GMSFetchPlaceRequest:
का इस्तेमाल करता है.
isOpenWithRequest
जवाब
isOpenWithRequest
, status
नाम की बूलियन वैल्यू वाला GMSPlaceIsOpenResponse
ऑब्जेक्ट दिखाता है. इससे पता चलता है कि कारोबार खुला है, बंद है या स्टेटस की जानकारी नहीं है.
भाषा | अगर खुला है, तो मान | बंद होने पर मान | अगर स्थिति की जानकारी नहीं है, तो मान |
---|---|---|---|
Swift | .open |
.closed |
.unknown |
Objective-C | GMSPlaceOpenStatusOpen |
GMSPlaceOpenStatusClosed |
GMSPlaceOpenStatusUnknown |
Google PlacesSwift (झलक) | true |
false |
nil |
isOpenWithRequest
की बिलिंग
GMSPlacePropertyUTCOffsetMinutes
औरGMSPlacePropertyBusinessStatus
फ़ील्ड का शुल्क, बेसिक डेटा SKU के तहत लिया जाता है. खुले होने के बाकी समय के लिए, जगह की जानकारी (बेहतर) SKU के तहत शुल्क लिया जाता है.- अगर आपके
GMSPlace
ऑब्जेक्ट में ये फ़ील्ड पहले से ही हैं, तो आपसे फिर से शुल्क नहीं लिया जाएगा.
उदाहरण: GMSPlaceIsOpenWithRequest
का अनुरोध करें
इस उदाहरण में, किसी मौजूदा GMSPlace
ऑब्जेक्ट में GMSPlaceIsOpenWithRequest
शुरू करने का तरीका बताया गया है.
Swift
let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil) GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in if let error = error { // Handle Error } switch response.status { case .open: // Handle open case .closed: // Handle closed case .unknown: // Handle unknown } }
Objective-C
GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil]; [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) { if (error) { // Handle error } switch (response.status) { case GMSPlaceOpenStatusOpen: // Handle open case GMSPlaceOpenStatusClosed: // Handle closed case GMSPlaceOpenStatusUnknown: // Handle unknown } }];
GooglePlacesSwift
let isOpenRequest = IsPlaceOpenRequest(place: place) switch await placesClient.isPlaceOpen(with: isOpenRequest) { case .success(let isOpenResponse): switch isOpenResponse.status { case true: // Handle open case false: // Handle closed case nil: // Handle unknown case .failure(let placesError): // Handle error }
ज़रूरी पैरामीटर
ज़रूरी पैरामीटर तय करने के लिए, GMSFetchPlaceRequest
ऑब्जेक्ट का इस्तेमाल करें.
जगह का आईडी
iOS के लिए Places SDK टूल में इस्तेमाल की गई जगह का आईडी Places API में इस्तेमाल किया गया आइडेंटिफ़ायर, Android के लिए 'जगहें' SDK टूल और अन्य Google API. हर जगह का आईडी सिर्फ़ एक जगह से जुड़ा हो सकता है. हालांकि, एक जगह का ज़्यादा आईडी मौजूद हो सकता है एक स्थान आईडी से ज़्यादा.
कुछ स्थितियों की वजह से, किसी जगह का नया आईडी मिल सकता है. उदाहरण के लिए, कारोबार की किसी नई जगह पर शिफ़्ट होने पर ऐसा हो सकता है.
जगह का आईडी बताकर किसी जगह का अनुरोध करते समय, आपको भरोसा हो सकता है कि आपको जवाब में हमेशा एक ही स्थान मिलेगा (अगर स्थान स्थिर है मौजूद है). हालांकि, ध्यान रखें कि जवाब में एक स्थान आईडी हो सकता है जो जो आपके अनुरोध में मौजूद है.
फ़ील्ड की सूची
स्थान विवरण का अनुरोध करते समय, आपको
फ़ील्ड मास्क के तौर पर जगह के लिए, GMSPlace
ऑब्जेक्ट दिखाएं. फ़ील्ड मास्क तय करने के लिए
से मानों की श्रेणी पास करें
GMSPlaceProperty
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
GMSFetchPlaceRequest
ऑब्जेक्ट में जोड़ा जा सकता है.
फ़ील्ड मास्किंग, डिज़ाइन का एक अच्छा तरीका है. इससे यह पक्का किया जाता है कि आप ग़ैर-ज़रूरी डेटा का अनुरोध न करें.
प्रोसेसिंग में लगने वाले समय और बिलिंग शुल्क से बचने में मदद मिलती है.
इनमें से एक या ज़्यादा फ़ील्ड चुनें:
ये फ़ील्ड, जगह की जानकारी (सिर्फ़ आईडी के लिए) SKU को ट्रिगर करते हैं:
GMSPlacePropertyPlaceID
,GMSPlacePropertyName
,GMSPlacePropertyPhotos
ये फ़ील्ड, जगह की जानकारी (सिर्फ़ जगह की जानकारी) SKU को ट्रिगर करते हैं:
GMSPlacePropertyAddressComponents
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyCoordinate
,GMSPlacePropertyPlusCode
,GMSPlacePropertyTypes
,GMSPlacePropertyViewport
ये फ़ील्ड, जगह की जानकारी (बेसिक) SKU को ट्रिगर करते हैं:
GMSPlacePropertyBusinessStatus
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyIconImageURL
,GMSPlacePropertyUTCOffsetMinutes
,GMSPlacePropertyWheelchairAccessibleEntrance
ये फ़ील्ड, जगह की जानकारी (बेहतर) SKU को ट्रिगर करते हैं:
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyOpeningHours
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyWebsite
ये फ़ील्ड, जगह की जानकारी (पसंदीदा) SKU को ट्रिगर करते हैं:
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
,GMSPlacePropertyServesBreakfast
,GMSPlacePropertyServesBrunch
,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesVegetarianFood
,GMSPlacePropertyServesWine
,GMSPlacePropertyTakeout
यहां दिए गए उदाहरण में, दो यूआरएल की सूची पास की गई है
फ़ील्ड की वैल्यू
यह बताने के लिए कि अनुरोध के ज़रिए लौटाए गए GMSPlace
ऑब्जेक्ट में
name
और placeID
फ़ील्ड:
Swift
// Specify the place data types to return. let fields: [GMSPlaceProperty] = [.placeID, .name]
Objective-C
// Specify the place data types to return. NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyPlaceID, GMSPlacePropertyName];
GooglePlacesSwift
// Specify the place data types to return. let fields: [PlaceProperty] = [.placeID, .displayName]
ज़रूरी नहीं पैरामीटर
वैकल्पिक पैरामीटर तय करने के लिए, GMSFetchPlaceRequest
ऑब्जेक्ट का इस्तेमाल करें.
regionCode
जवाब को फ़ॉर्मैट करने के लिए इस्तेमाल किया जाने वाला क्षेत्रीय कोड, जिसे दो वर्ण वाले CLDR कोड की वैल्यू. इस पैरामीटर का पक्षपात भी हो सकता है खोज के नतीजों में दिखने वाला है. कोई डिफ़ॉल्ट मान नहीं है.
अगर जवाब में पता फ़ील्ड में देश का नाम मेल खाता है क्षेत्रीय कोड, पते में देश का कोड शामिल नहीं किया गया है.
ज़्यादातर CLDR कोड, ISO 3166-1 कोड से मेल खाते हैं. इसमें कुछ अहम अपवाद शामिल हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "यूके" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है (तकनीकी तौर पर, इकाई "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन ऐंड नॉर्दर्न आयरलैंड" है. पैरामीटर, लागू कानून के आधार पर नतीजों पर असर डाल सकता है.
sessionToken
सेशन टोकन, उपयोगकर्ता की जनरेट की गई स्ट्रिंग होती हैं, जो ऑटोकंप्लीट को ट्रैक करती हैं (नया) "सेशन" के तौर पर कॉल करता है. ऑटोकंप्लीट की सुविधा (नया वर्शन), सेशन टोकन का इस्तेमाल इन कामों के लिए करता है यह विकल्प, उपयोगकर्ता की अपने-आप पूरी होने वाली खोज की क्वेरी का ग्रुप बनाता है और उसे चुनने के अलग-अलग चरणों को, अलग-अलग सेशन में सेट करने के लिए सेट करता है बिलिंग उद्देश्यों के लिए. सेशन टोकन, जगह की जानकारी में पास किए जाते हैं (नया) ऑटोकंप्लीट (नए) कॉल के बाद आने वाले कॉल. ज़्यादा जानकारी के लिए, यह देखें सेशन टोकन.
अपने ऐप्लिकेशन में एट्रिब्यूशन दिखाएं
जब आपका ऐप्लिकेशन इनसे मिली जानकारी को दिखाता है
GMSPlacesClient
जैसे कि फ़ोटो और समीक्षाएं, ऐप्लिकेशन को ज़रूरी एट्रिब्यूशन भी दिखाने चाहिए.
उदाहरण के लिए, GMSPlacesClient
ऑब्जेक्ट की reviews
प्रॉपर्टी
में ज़्यादा से ज़्यादा पाँच डेटा का अरे होता है
GMSPlaceReview
ऑब्जेक्ट हैं. हर GMSPlaceReview
ऑब्जेक्ट में एट्रिब्यूशन और लेखक के एट्रिब्यूशन शामिल हो सकते हैं.
अगर आपके ऐप्लिकेशन में समीक्षा दिखाई जाती है, तो आपको कोई एट्रिब्यूशन या लेखक भी दिखाना होगा
एट्रिब्यूशन.
ज़्यादा जानकारी के लिए, यहां दिया गया दस्तावेज़ देखें: एट्रिब्यूशन.