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