جزئیات مکان (جدید)

پلتفرم را انتخاب کنید: سرویس وب جاوا اسکریپت اندروید iOS

Places SDK برای iOS (جدید) اطلاعات غنی درباره مکان‌ها، از جمله نام و آدرس مکان، موقعیت جغرافیایی مشخص شده به عنوان مختصات طول و عرض جغرافیایی، نوع مکان (مانند کلوپ شبانه، فروشگاه حیوانات خانگی، موزه) را به برنامه شما ارائه می‌دهد. و بیشتر. برای دسترسی به این اطلاعات برای یک مکان خاص، می توانید از شناسه مکان استفاده کنید، یک شناسه پایدار که به طور منحصر به فرد مکان را شناسایی می کند.

جزئیات مکان را دریافت کنید

کلاس GMSPlace حاوی اطلاعاتی در مورد یک مکان خاص است، از جمله تمام فیلدهای داده نشان داده شده در Place Data Fields (جدید) . با فراخوانی GMSPlacesClient fetchPlaceWithRequest: ارسال یک شیء GMSFetchPlaceRequest و یک روش پاسخ به تماس از نوع GMSPlaceResultCallback یک شی GMSPlace دریافت کنید.

شی GMSFetchPlaceRequest مشخص می کند:

  • (الزامی) شناسه مکان ، یک شناسه منحصر به فرد برای یک مکان در پایگاه داده Google Places و در Google Maps.
  • (الزامی) فهرست فیلدهایی که باید در شیء GMSPlace بازگردانده شوند، که فیلد ماسک نیز نامیده می شود، همانطور که توسط GMSPlaceProperty تعریف شده است. اگر حداقل یک فیلد را در لیست فیلد مشخص نکنید، یا اگر لیست فیلد را حذف کنید، تماس یک خطا برمی‌گرداند.
  • (اختیاری) کد منطقه ای که برای قالب بندی پاسخ استفاده می شود.
  • (اختیاری) نشانه جلسه مورد استفاده برای پایان دادن به یک جلسه تکمیل خودکار (جدید).

درخواست جزئیات مکان کنید

این مثال با عبور از پارامترهای زیر یک مکان با شناسه دریافت می کند:

  • شناسه مکان ChIJV4k8_9UodTERU5KXbkYpSYs .
  • یک لیست فیلدی که مشخص می کند نام مکان و URL وب سایت را برگرداند.
  • یک GMSPlaceResultCallback برای رسیدگی به نتیجه.

API روش برگشت تماس مشخص شده را فراخوانی می کند و در یک شی GMSPlace ارسال می کند. اگر مکان پیدا نشد، شی مکان صفر است.

سریع

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue}

// Create the GMSFetchPlaceRequest object.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties, sessionToken: nil)

client.fetchPlace(with: 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 *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest object.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties 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);
  }
}];

GooglePlacesSwift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"
let fetchPlaceRequest = FetchPlaceRequest(
  placeID: placeID,
  placeProperties: [.name, .website]
)
switch await placesClient.fetchPlace(with: fetchPlaceRequest) {
case .success(let place):
  // Handle place
case .failure(let placesError):
  // Handle error
}

پاسخ جزئیات مکان

Place Details یک شی GMSPlace حاوی جزئیات مربوط به مکان را برمی گرداند. فقط فیلدهایی که در لیست فیلد مشخص شده اند در شی GMSPlace پر می شوند.

همراه با فیلدهای داده، شی GMSPlace در پاسخ شامل توابع عضو زیر است:

  • isOpen محاسبه می کند که آیا مکانی در زمان معین باز است یا خیر.
  • isOpenAtDate محاسبه می کند که آیا یک مکان در تاریخ معین باز است یا خیر.

پارامترهای مورد نیاز

از شی GMSFetchPlaceRequest برای تعیین پارامترهای مورد نیاز استفاده کنید.

شناسه مکان

شناسه مکان مورد استفاده در Places SDK برای iOS همان شناسه‌ای است که در Places API، Places SDK برای Android و سایر APIهای Google استفاده می‌شود. هر شناسه مکان می تواند تنها به یک مکان اشاره داشته باشد، اما یک مکان واحد می تواند بیش از یک شناسه مکان داشته باشد.

شرایطی وجود دارد که ممکن است باعث شود یک مکان شناسه مکان جدیدی دریافت کند. برای مثال، اگر یک کسب و کار به مکان جدیدی نقل مکان کند، ممکن است این اتفاق بیفتد.

هنگامی که با تعیین شناسه مکان درخواست مکانی می کنید، می توانید مطمئن باشید که همیشه همان مکان را در پاسخ دریافت خواهید کرد (اگر مکان هنوز وجود دارد). با این حال، توجه داشته باشید که پاسخ ممکن است حاوی شناسه مکانی متفاوت از شناسه درخواست شما باشد.

لیست زمینه

وقتی جزئیات مکان را درخواست می‌کنید، باید داده‌هایی را برای بازگرداندن در شی GMSPlace برای مکان به‌عنوان یک فیلد ماسک مشخص کنید. برای تعریف فیلد ماسک آرایه ای از مقادیر را از GMSPlaceProperty به شی GMSFetchPlaceRequest ارسال کنید. پوشاندن میدان یک روش طراحی خوب برای اطمینان از عدم درخواست داده‌های غیرضروری است که به جلوگیری از زمان پردازش غیرضروری و هزینه‌های صورت‌حساب کمک می‌کند.

یک یا چند مورد از فیلدهای زیر را مشخص کنید:

  • فیلدهای زیر SKU جزئیات مکان (فقط شناسه) را فعال می کنند:

    GMSPlacePropertyPlaceID ، GMSPlacePropertyName ، GMSPlacePropertyPhotos

  • فیلدهای زیر SKU جزئیات مکان (فقط مکان) را فعال می کنند:

    GMSPlacePropertyAddressComponents ، GMSPlacePropertyFormattedAddress ، GMSPlacePropertyCoordinate ، GMSPlacePropertyPlusCode ، GMSPlacePropertyTypes ، GMSPlacePropertyViewport

  • فیلدهای زیر SKU جزئیات مکان (پایه) را فعال می کنند:

    GMSPlacePropertyBusinessStatus ، GMSPlacePropertyIconBackgroundColor ، GMSPlacePropertyIconImageURL ، GMSPlacePropertyUTCOffsetMinutes ، GMSPlacePropertyWheelchairAccessibleEntrance

  • فیلدهای زیر SKU جزئیات مکان (پیشرفته) را فعال می کنند:

    GMSPlacePropertyCurrentOpeningHours , GMSPlacePropertySecondaryOpeningHours , GMSPlacePropertyPhoneNumber , GMSPlacePropertyPriceLevel , GMSPlacePropertyRating , GMSPlacePropertyOpeningHours , GMSPlacePropertyUserRatingsTotal GMSPlacePropertyWebsite

  • فیلدهای زیر SKU جزئیات مکان (ترجیحا) را فعال می کنند:

    GMSPlacePropertyCurbsidePickup , GMSPlacePropertyDelivery , GMSPlacePropertyDineIn , GMSPlacePropertyEditorialSummary , GMSPlacePropertyReservable , GMSPlacePropertyReviews , GMSPlacePropertyServesBeer lacePropertyServesBrunch , GMSPlacePropertyServesBreakfast , GMSPlacePropertyServesBrunch , GMSPlacePropertyServesDinner GMSPlacePropertyServesLunch GMSPlacePropertyTakeout , GMSPlacePropertyServesVegetarianFood , GMSPlacePropertyServesWine

مثال زیر لیستی از دو مقدار فیلد را ارسال می کند تا مشخص کند که شی GMSPlace که توسط یک درخواست بازگردانده شده است حاوی فیلدهای name و placeID باشد:

سریع

// Specify the place data types to return.
let fields: [GMSPlaceProperty] = [.placeID, .name]
  

هدف-C

// Specify the place data types to return.
NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyPlaceID, GMSPlacePropertyName];
  

GooglePlacesSwift

// Specify the place data types to return.
let fields: [PlaceProperty] = [.placeID, .displayName]
    

پارامترهای اختیاری

از شی GMSFetchPlaceRequest برای تعیین پارامترهای اختیاری استفاده کنید.

منطقه کد

کد منطقه ای که برای قالب بندی پاسخ استفاده می شود، به عنوان مقدار کد CLDR دو کاراکتری مشخص شده است. این پارامتر همچنین می تواند یک اثر سوگیری در نتایج جستجو داشته باشد. هیچ مقدار پیش فرضی وجود ندارد.

اگر نام کشور فیلد آدرس در پاسخ با کد منطقه مطابقت داشته باشد، کد کشور از آدرس حذف می شود.

اکثر کدهای CLDR با کدهای ISO 3166-1 یکسان هستند، با برخی استثناهای قابل توجه. برای مثال، ccTLD بریتانیا "uk" (.co.uk) است در حالی که کد ISO 3166-1 آن "gb" است (از لحاظ فنی برای نهاد "پادشاهی متحده بریتانیای کبیر و ایرلند شمالی"). این پارامتر می تواند بر نتایج بر اساس قانون قابل اجرا تأثیر بگذارد.

sessionToken

نشانه‌های جلسه رشته‌هایی هستند که توسط کاربر ایجاد می‌شوند که تماس‌های تکمیل خودکار (جدید) را به‌عنوان «جلسه» دنبال می‌کنند. تکمیل خودکار (جدید) از نشانه‌های جلسه برای گروه‌بندی پرس و جو و قرار دادن مراحل انتخاب جستجوی تکمیل خودکار کاربر در یک جلسه مجزا برای اهداف صورت‌حساب استفاده می‌کند. نشانه‌های جلسه به فراخوان‌های جزئیات مکان (جدید) ارسال می‌شوند که پس از تماس‌های تکمیل خودکار (جدید). برای اطلاعات بیشتر، نشانه‌های جلسه را ببینید.

اسناد را در برنامه خود نمایش دهید

هنگامی که برنامه شما اطلاعات به دست آمده از GMSPlacesClient را نمایش می دهد، مانند عکس ها و نظرات، برنامه باید اسناد مورد نیاز را نیز نمایش دهد.

برای مثال، ویژگی reviews شی GMSPlacesClient حاوی آرایه ای از حداکثر پنج شی GMSPlaceReview است. هر شیء GMSPlaceReview می‌تواند حاوی اسناد و اعتبارات نویسنده باشد. اگر نظر را در برنامه خود نمایش دهید، باید هر گونه انتساب یا منبع نویسنده را نیز نمایش دهید.

برای اطلاعات بیشتر، به اسناد مربوط به اسناد مراجعه کنید.