انتقال به «جزئیات جا» (جدید)

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);
  }
}];