يمكنك طلب المزيد من التفاصيل حول مؤسسة أو نقطة اهتمام معيّنة باستخدام المعرّف الخاص بها وإرسال طلب للحصول على تفاصيل المكان (جديد). تعرض خدمة "تفاصيل المكان" (الجديدة) معلومات أكثر شمولاً عن المكان المحدّد، مثل العنوان الكامل ورقم الهاتف وتقييمات المستخدمين ومراجعاتهم.
هناك العديد من الطرق للحصول على معرّف مكان. يمكنك استخدام:
طلبات "تفاصيل المكان (جديدة)"
يمكنك طلب تفاصيل المكان من خلال استدعاء
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
هي:
-
معرّف المكان
معرّف نصي يحدّد مكانًا بشكل فريد، ويتم عرضه من خلال Text Search (New) أو Nearby Search (New) أو Autocomplete (New). لمزيد من المعلومات حول معرّفات الأماكن، راجِع نظرة عامة على معرّفات الأماكن.
-
قائمة الحقول
عند طلب مكان، يجب تحديد بيانات المكان التي تريد عرضها. لإجراء ذلك، مرِّر قائمة بقيم
Place.Field
تحدّد البيانات المطلوب عرضها. لا تتضمّن الاستجابة قائمة تلقائية بالحقول التي تم عرضها.تُعدّ قوائم الحقول من أفضل ممارسات التصميم لضمان عدم طلب بيانات غير ضرورية، ما يساعد في تجنُّب وقت المعالجة غير الضروري ورسوم الفوترة.هذه القائمة مهمة لأنّها تؤثّر في تكلفة كل طلب. لمزيد من المعلومات، يُرجى الاطّلاع على الاستخدام والفوترة.
حدِّد حقلاً واحدًا أو أكثر من الحقول التالية:
تؤدي الحقول التالية إلى تفعيل رمز التخزين التعريفي الخاص بـ "المعرّفات الأساسية لتفاصيل المكان فقط":
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
تؤدي الحقول التالية إلى تفعيل رمز التخزين التعريفي لإصدار Place Details Essentials:
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
تؤدي الحقول التالية إلى تفعيل رمز التخزين التعريفي الخاص بتفاصيل المكان:
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
تؤدي الحقول التالية إلى تفعيل رمز التخزين التعريفي الخاص بميزة "تفاصيل المكان" في Enterprise:
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
تؤدي الحقول التالية إلى تفعيل وحدة حفظ المخزون الخاصة بـ Place Details 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" (وهو يشير تقنيًا إلى الكيان "المملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية"). يمكن أن تؤثّر المَعلمة في النتائج استنادًا إلى القانون الساري.
لضبط مَعلمة رمز المنطقة، استدعِ الطريقة
setRegionCode()
عند إنشاء العنصرFetchPlaceRequest
.-
الرمز المميز للجلسة
رموز الجلسات هي سلاسل من إنشاء المستخدمين تتتبّع طلبات البحث في ميزة "الإكمال التلقائي" (جديدة) باعتبارها "جلسات". تستخدم ميزة "الإكمال التلقائي" (جديدة) رموز الجلسات المميزة لتجميع طلب البحث ومراحل اختيار المكان في عملية بحث الإكمال التلقائي التي يجريها المستخدم، وذلك في جلسة منفصلة لأغراض الفوترة. يتم تمرير رموز الجلسات المميزة إلى طلبات Place Details (New) التي تلي طلبات Autocomplete (New). لمزيد من المعلومات، يُرجى الاطّلاع على مقالة رموز الجلسات.
لضبط مَعلمة رمز الجلسة المميّز، استدعِ الطريقة
setSessionToken()
عند إنشاء الكائنFetchPlaceRequest
.
مثال على تفاصيل المكان
يطلب المثال التالي الحقول 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);