میتوانید با استفاده از شناسه مکان آن و درخواست جزئیات مکان (جدید) جزئیات بیشتری درباره یک مؤسسه یا نقطه مورد علاقه خاص درخواست کنید. جزئیات مکان (جدید) اطلاعات جامع تری را در مورد مکان مشخص شده، مانند آدرس کامل، شماره تلفن، رتبه بندی کاربر و نظرات، برمی گرداند.
راه های زیادی برای دریافت شناسه مکان وجود دارد. می توانید استفاده کنید:
درخواست جزئیات مکان (جدید).
میتوانید جزئیات مکان را با فراخوانی 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.PRIPlace.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);