คุณขอรายละเอียดเพิ่มเติมเกี่ยวกับสถานประกอบการหรือจุดที่น่าสนใจที่เฉพาะเจาะจงได้โดยใช้รหัสสถานที่และส่งคำขอรายละเอียดสถานที่ (ใหม่) รายละเอียดสถานที่ (ใหม่) จะแสดงข้อมูลที่ครอบคลุมมากขึ้น เกี่ยวกับสถานที่ที่ระบุ เช่น ที่อยู่แบบเต็ม หมายเลขโทรศัพท์ คะแนนและรีวิวของผู้ใช้
คุณรับรหัสสถานที่ได้หลายวิธี โดยคุณสามารถใช้สิ่งต่อไปนี้ได้
คำขอรายละเอียดสถานที่ (ใหม่)
คุณขอรายละเอียดสถานที่ได้โดยการเรียกใช้
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
ที่ระบุข้อมูลที่จะแสดงผล ไม่มีรายการเริ่มต้นของ ฟิลด์ที่ส่งคืนในการตอบกลับรายการฟิลด์เป็นแนวทางปฏิบัติในการออกแบบที่ดีเพื่อให้มั่นใจว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยงเวลาในการประมวลผลที่ไม่จำเป็นและค่าใช้จ่ายในการเรียกเก็บเงิน รายการนี้เป็นสิ่งที่ควรพิจารณาอย่างยิ่งเนื่องจากส่งผลต่อค่าใช้จ่ายสำหรับแต่ละคำขอ ดูข้อมูลเพิ่มเติมได้ที่ การใช้งาน และการเรียกเก็บเงิน
ระบุช่องต่อไปนี้อย่างน้อย 1 ช่อง
ฟิลด์ต่อไปนี้จะทริกเกอร์ 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
ฟิลด์ต่อไปนี้จะทริกเกอร์ Place Details Pro 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 2 อักขระ ไม่มีค่าเริ่มต้น
หากชื่อประเทศของฟิลด์
Place.Field.FORMATTED_ADDRESS
ในการตอบกลับตรงกับregionCode
ระบบจะละรหัสประเทศออกจากPlace.Field.FORMATTED_ADDRESS
รหัส CLDR ส่วนใหญ่จะเหมือนกับรหัส ISO 3166-1 โดยมีข้อยกเว้นที่สำคัญบางประการ ตัวอย่างเช่น ccTLD ของสหราชอาณาจักรคือ "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);