Places SDK برای iOS از جزئیات مکان موجود پشتیبانی می کند. اگر با Places SDK موجود برای iOS آشنا هستید، نسخه جدید Place Details تغییرات زیر را اعمال می کند:
از مدل قیمت گذاری جدید استفاده می کند. برای اطلاعات قیمت گذاری برای همه API ها، به قیمت گذاری مکان ها SDK برای iOS (جدید) مراجعه کنید.
پوشاندن میدان مورد نیاز است. شما باید مشخص کنید که کدام فیلدها را می خواهید در پاسخ بازگردانید. هیچ لیست پیش فرضی از فیلدهای برگشتی وجود ندارد. اگر این لیست را حذف کنید، متدها با خطا مواجه می شوند.
برای درخواست، با متد جدید
GMSPlacesClient fetchPlaceWithRequest:
تماس بگیرید.عبور به درخواست:
نمونه ای از کلاس جدید
GMSFetchPlaceRequest
که تمام پارامترهای درخواست را تعریف می کند، مانند شناسه مکان و نشانه جلسه.یک تماس از نوع
GMSPlaceResultCallback
برای رسیدگی به پاسخ.
پاسخ حاوی یک نمونه
GMSPlace
حاوی جزئیات مربوط به مکان است. مقادیر موجود در ویژگیهایtypes
نمونهGMSPlace
اکنون توسط جدول A و جدول B تعریف میشوند.نمونه پاسخ
GMSPlace
حاوی ویژگیreviews
جدید از نوعGMSPlaceReview
است. هنگامی که برنامه شما اطلاعات به دست آمده از نمونهGMSPlace
، مانند عکس ها و نظرات را نمایش می دهد، برنامه باید اسناد مورد نیاز را نیز نمایش دهد.برای اطلاعات بیشتر، به مستندات مربوط به ارجاعات مراجعه کنید.
نمونه پاسخ
GMSPlace
شامل توابع عضو زیر است:isOpen
محاسبه می کند که آیا مکانی در زمان معین باز است یا خیر.isOpenAtDate
محاسبه می کند که آیا یک مکان در تاریخ معین باز است یا خیر.
این توابع تنها زمانی در دسترس هستند که Places SDK را برای iOS فعال کنید. وقتی Places SDK برای iOS (جدید) را فعال میکنید، در دسترس نیستند. برای اطلاعات بیشتر، به انتخاب نسخه SDK خود مراجعه کنید.
درخواست نمونه
با Place Details (جدید)، شما درخواست می کنید و تمام پارامترها را در نمونه GMSFetchPlaceRequest
ارسال می کنید. این مثال همچنین از یک فیلد ماسک استفاده می کند، بنابراین پاسخ فقط شامل نام نمایشی و URL وب سایت برای مکان است:
سویفت
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue} // Create the GMSFetchPlaceRequest instance. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in guard let place, error == nil else { return } print("Place found: \(String(describing: place.name))") })
هدف-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. NSArray<NSString *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite]; // Create the GMSFetchPlaceRequest instance. GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields 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); } }];