Places API (Legacy) از Place Details (Legacy) پشتیبانی میکند. اگر با Places API (قدیمی) آشنایی دارید، جزئیات مکان (جدید) تغییرات زیر را ایجاد میکند:
از مدل قیمتگذاری جدیدی استفاده میکند. برای اطلاعات قیمتگذاری همه میاناهای برنامهسازی کاربردی، استفاده و صورتحساب را ببینید.
پوشش فیلد الزامی است. باید مشخص کنید که کدام فیلدها را میخواهید در پاسخ برگردانده شود. هیچ فهرست پیشفرضی از فیلدهای برگرداندهشده وجود ندارد. اگر این فهرست را حذف کنید، روشها خطا برمیگردانند.
برای درخواست کردن، با روش جدید
GMSPlacesClient fetchPlaceWithRequest:تماس بگیرید.به درخواست ارسال کنید:
نمونهای از کلاس
GMSFetchPlaceRequestجدید که همه پارامترهای درخواست، مثل شناسه مکان و نشانه جلسه، را تعریف میکند.یک برگشت از نوع
GMSPlaceResultCallbackبرای مدیریت پاسخ.
پاسخ حاوی
GMSPlaceنمونهای است که جزئیات مکان را دربردارد. مقادیر درtypesدارایی نمونهGMSPlaceاکنون با جدول A و جدول B تعریف میشود.نمونه
GMSPlaceپاسخ حاویreviewsجدید دارایی از نوعGMSPlaceReviewاست. وقتی برنامهتان اطلاعاتی را که ازGMSPlaceنمونه دریافت کرده است نمایش میدهد، مثل عکسها و مرورها، برنامه باید اسناد موردنیاز را نیز نمایش دهد.برای اطلاعات بیشتر، مستندات مربوط به ارجاعها را ببینید.
نمونه
GMSPlaceپاسخ حاوی توابع عضو زیر است:isOpenمحاسبه میکند که مکان در زمان دادهشده باز است یا نه.isOpenAtDateمحاسبه میکند که آیا مکانی در تاریخ معینی باز است یا نه.
این عملکردها فقط زمانی دردسترس است که کیت توسعه نرمافزار مکانها، ویژه iOS را فعال کنید. وقتی کیت توسعه نرمافزار مکانها برای iOS (جدید) را فعال میکنید، دردسترس نیستند. برای اطلاعات بیشتر، انتخاب نسخه کیت توسعه نرمافزار را ببینید.
درخواست نمونه
با «جزئیات مکان» (جدید)، درخواست میکنید و
همه پارامترها را در نمونه GMSFetchPlaceRequest میگذرانید. این
مثال همچنین از ماسک فیلد استفاده میکند تا پاسخ فقط شامل نام نمایشی
و نشانی وبسایت برای مکان باشد:
Swift
// 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); } }];