Places SDK برای iOS از جزئیات مکان (میراث) پشتیبانی می کند. اگر با Places SDK برای iOS (Legacy) آشنا هستید، 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); } }];