کیت توسعه نرمافزار Places برای iOS از جزئیات مکان (Legacy) پشتیبانی میکند. اگر با کیت توسعه نرمافزار Places برای iOS (Legacy) آشنا هستید، جزئیات مکان (New) تغییرات زیر را ایجاد میکند:
از یک مدل قیمتگذاری جدید استفاده میکند. برای اطلاعات قیمتگذاری برای همه APIها، به قیمتگذاری Places 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))") })
هدف-سی
// 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); } }];