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

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

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

راه های زیادی برای دریافت شناسه مکان وجود دارد. می توانید استفاده کنید:

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

می‌توانید جزئیات مکان را با فراخوانی PlacesClient.fetchPlace() و ارسال یک شی FetchPlaceRequest حاوی شناسه مکان و لیست فیلد و همچنین هر پارامتر اختیاری درخواست کنید:

// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");

// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);

جزئیات مکان (جدید) پاسخ ها

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

برای دسترسی به فیلدهای داده، روش مربوطه را فراخوانی کنید. به عنوان مثال، برای دسترسی به نام مکان، getName() فراخوانی کنید.

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

پارامترهای مورد نیاز برای FetchPlaceRequest عبارتند از:

  • شناسه مکان

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

  • لیست زمینه

    هنگامی که درخواست مکانی می کنید، باید مشخص کنید که کدام داده مکان را برگردانید. برای انجام این کار، لیستی از مقادیر Place.Field را ارسال کنید که داده‌های مورد نظر را مشخص می‌کند. هیچ لیست پیش فرضی از فیلدهای برگشتی در پاسخ وجود ندارد.

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

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

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

      Place.Field.DISPLAY_NAME ، Place.Field.ID ، Place.Field.PHOTO_METADATAS ، Place.Field.RESOURCE_NAME
    • فیلدهای زیر SKU جزئیات مکان (فقط مکان) را فعال می کنند:

      Place.Field.ADDRESS_COMPONENTS ، ADR_FORMAT_ADDRESS ، Place.Field.FORMATTED_ADDRESS ، Place.Field.LOCATION ، Place.Field.PLUS_CODE ، Place.Field.SHORT_FORMATTED_ADDRESS ، Place.Field.VIEWPORT Place.Field.TYPES
    • فیلدهای زیر SKU جزئیات مکان (پایه) را فعال می کنند:

      Place.Field.ACCESSIBILITY_OPTIONS ، Place.Field.BUSINESS_STATUS ، Place.Field.GOOGLE_MAPS_URI ، Place.Field.ICON_BACKGROUND_COLOR ، Place.Field.ICON_MASK_URL ، Place.Field.PRIMARY_TYPE ، Place.Y_TY.PRI Place.Field.PRIMARY_TYPE_DISPLAY_NAME ، Place.Field.SUB_DESTINATIONS ، Place.Field.UTC_OFFSET
    • فیلدهای زیر SKU جزئیات مکان (پیشرفته) را فعال می کنند:

      Place.Field.CURRENT_OPENING_HOURS ، Place.Field.CURRENT_SECONDARY_OPENING_HOURS Place.Field.INTERNATIONAL_PHONE_NUMBER ، Place.Field.NATIONAL_PHONE_NUMBER Place.Field.OPENING_HOURS Place.Field.RATING Place.Field.PRICE_LEVEL Place.Field.SECONDARY_OPENING_HOURS ، Place.Field.USER_RATING_COUNT Place.Field.WEBSITE_URI
    • فیلدهای زیر SKU جزئیات مکان (ترجیح) را فعال می‌کنند : Place.Field.ALLOWS_DOGS ، Place.Field.CURBSIDE_PICKUP ، Place.Field.DELIVERY ، Place.Field.DINE_IN Place.Field.EV_CHARGE_OPTIONS Place.Field.EDITORIAL_SUMMARY Place.Field.FUEL_OPTIONS ، Place.Field.GOOD_FOR_CHILDREN ، Place.Field.GOOD_FOR_GROUPS ، Place.Field.GOOD_FOR_WATCHING_SPORTS ، Place.Field.LIVE_MUSIC Place.Field.OUTDOOR_SEATING Place.Field.MENU_FOR_CHILDREN Place.Field.PARKING_OPTIONS , Place.Field.PAYMENT_OPTIONS , Place.Field.RESERVABLE , Place.Field.RESTROOM , Place.Field.REVIEWS , Place.Field.SERVES_BEER , Place.Field.SERVES_BREAKFAST , Place.Field.SERVES_BRUNCH . Place.Field.SERVES_COCKTAILS , Place.Field.SERVES_COFFEE Place.Field.SERVES_WINE Place.Field.SERVES_DESSERT , Place.Field.SERVES_DINNER , Place.Field.SERVES_LUNCH , Place.Field.SERVES_VEGETARIAN_FOOD , Place.Field.TAKEOUT

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

پارامترهای اختیاری برای FetchPlaceRequest عبارتند از:

  • کد منطقه

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

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

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

    برای تنظیم پارامتر کد منطقه، هنگام ساخت شی FetchPlaceRequest ، متد setRegionCode() را فراخوانی کنید.

  • نشانه جلسه

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

    برای تنظیم پارامتر Session Token، هنگام ساخت شی FetchPlaceRequest ، متد setSessionToken() را فراخوانی کنید.

نمونه جزئیات مکان

مثال زیر فیلدهای ID ، DISPLAY_NAME و FORMATTED_ADDRESS را برای ساختمان Empire State در شهر نیویورک درخواست می‌کند.

// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME, Place.Field.FORMATTED_ADDRESS);

// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);