بااستفاده از شناسه مکان یک مؤسسه یا نقطه موردعلاقه خاص و ایجاد درخواست «جزئیات مکان (جدید)»، میتوانید جزئیات بیشتری درباره آن درخواست کنید. «جزئیات مکان (جدید)» اطلاعات جامعتری درباره مکان مشخصشده برمیگرداند، مانند نشانی کامل، شماره تلفن، ردهبندی کاربر، و مرورها.
راههای زیادی برای دریافت شناسه مکان وجود دارد. میتوانید از این موارد استفاده کنید:
درخواستهای «جزئیات مکان» (جدید)
میتوانید با فراخوانی
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را ارسال کنید که دادههای برگشتی را مشخص میکند. فهرست پیشفرضی از فیلدهای برگشتی در پاسخ وجود ندارد.فهرستهای فیلد یک روال طراحی خوب برای اطمینان از این است که دادههای غیرضروری درخواست نمیکنید، که به اجتناب از زمان پردازش غیرضروری و کسر هزینه کمک میکند.این فهرست نکته مهمی است زیرا بر هزینه هر درخواست تأثیر میگذارد. برای اطلاعات بیشتر، استفاده و صدور صورتحساب را ببینید.
یک یا چند فیلد زیر را مشخص کنید:
فیلدهای زیر باعث راهاندازی Place Details Essentials IDs Only SKU میشوند:
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.ADDRESS(منسوخشده) استفاده کنید.
Place.Field.LOCATION*
* بهجایPlace.Field.LAT_LNG(منسوخشده) استفاده کنید.
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORTبرای مشاهده فهرست کامل فیلدها و SKUهای مرتبط با آنها، به فیلدهای داده مکان (جدید) مراجعه کنید.
فیلدهای زیر واحد نگهداری کالا حرفهای جزئیات مکان را راهاندازی میکنند:
Place.Field.ACCESSIBILITY_OPTIONS*
* بهجایPlace.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE(منسوخشده) استفاده کنید.
Place.Field.BUSINESS_STATUS
Place.Field.DISPLAY_NAME*
* بهجایPlace.Field.NAMEکه منسوخ شده است استفاده کنید.
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL*
* بهجایPlace.Field.ICON_URL(منسوخشده) استفاده کنید.
Place.Field.PRIMARY_TYPE
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.PHONE_NUMBERاستفاده کنید که منسوخ شده است.
Place.Field.NATIONAL_PHONE_NUMBER
Place.Field.OPENING_HOURS
Place.Field.PRICE_LEVEL
Place.Field.RATING
Place.Field.SECONDARY_OPENING_HOURS
Place.Field.USER_RATING_COUNT*
* بهجایPlace.Field.USER_RATINGS_TOTALکه منسوخ شده است استفاده کنید.
Place.Field.WEBSITE_URIبرای مشاهده فهرست کامل فیلدها و SKUهای مرتبط با آنها، به فیلدهای داده مکان (جدید) مراجعه کنید.
فیلدهای زیر واحد نگهداری کالای «جزئیات مکان» Enterprise Plus را راهاندازی میکنند:
Place.Field.ALLOWS_DOGS
Place.Field.CURBSIDE_PICKUP
Place.Field.DELIVERY
Place.Field.DINE_IN
Place.Field.EDITORIAL_SUMMARY
Place.Field.EV_CHARGE_OPTIONS
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.MENU_FOR_CHILDREN
Place.Field.OUTDOOR_SEATING
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_DESSERT
Place.Field.SERVES_DINNER
Place.Field.SERVES_LUNCH
Place.Field.SERVES_VEGETARIAN_FOOD
Place.Field.SERVES_WINE
Place.Field.TAKEOUTبرای فهرست کامل فیلدها و «واحد نگهداری کالا» مرتبط با آنها، فیلدهای داده مکان (جدید) را ببینید.
پارامترهای اختیاری
پارامترهای اختیاری برای
FetchPlaceRequest
عبارتند از:
کد منطقه
کد منطقهای که برای قالببندی پاسخ استفاده میشود، بهعنوان مقدار کد CLDR دو نویسهای مشخص شده است. مقدار پیشفرضی وجود ندارد.
اگر نام کشور فیلد
Place.Field.FORMATTED_ADDRESSدر پاسخ باregionCodeمطابقت داشته باشد، کد کشور ازPlace.Field.FORMATTED_ADDRESSحذف میشود.اکثر کدهای CLDR با کدهای ISO 3166-1 یکسان هستند، با چند استثنای قابلتوجه. برای مثال، دامنه سطح بالای کد کشور پادشاهی متحد «uk» (co.uk.) است، درحالیکه کد ISO 3166-1 آن «gb» است (ازنظر فنی برای نهاد «پادشاهی متحد بریتانیای کبیر و ایرلند شمالی»). این پارامتر میتواند بر نتایج براساس قانون ذیربط تأثیر بگذارد.
برای تنظیم پارامتر کد منطقه، هنگام ساختن شیء
FetchPlaceRequest، روشsetRegionCode()را فراخوانی کنید.-
کد جلسه
کدهای جلسه رشتههای تولیدشده توسط کاربر هستند که تماسهای «تکمیل خودکار» (جدید) را بهعنوان «جلسه» ردیابی میکنند. «تکمیل خودکار» (جدید) از نشانهای جلسه برای گروهبندی مراحل انتخاب مکان و پُرسمان جستجوی تکمیل خودکار کاربر در یک جلسه مجزا برای اهداف صدور صورتحساب استفاده میکند. کدهای جلسه به تماسهای «جزئیات مکان (جدید)» که پساز تماسهای «تکمیل خودکار (جدید)» میآیند منتقل میشوند. برای اطلاعات بیشتر، به نشانه جلسه مراجعه کنید.
برای تنظیم پارامتر کد جلسه، هنگام ساختن شیء
FetchPlaceRequest، روشsetSessionToken()را فراخوانی کنید.
نمونه «جزئیات جا»
مثال زیر فیلدهای ID، DISPLAY_NAME، و FORMATTED_ADDRESS را برای ساختمان امپایر استیت در شهر نیویورک درخواست میکند.
// 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);