คุณสามารถขอรายละเอียดเพิ่มเติมเกี่ยวกับสถานประกอบการหรือจุดสนใจหนึ่งๆ ได้โดยใช้รหัสสถานที่และส่งคำขอคำขอรายละเอียดสถานที่ (ใหม่) รายละเอียดสถานที่ (ใหม่) จะแสดงข้อมูลที่ครอบคลุมมากขึ้นเกี่ยวกับสถานที่ที่ระบุไว้ เช่น ที่อยู่ที่สมบูรณ์ หมายเลขโทรศัพท์ คะแนนจากผู้ใช้ และรีวิว
การรับรหัสสถานที่ทำได้หลายวิธี ดังนี้
คำขอรายละเอียดสถานที่ (ใหม่)
คุณสามารถขอรายละเอียดสถานที่ได้โดยเรียกใช้
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.NAME
,Place.Field.PHOTO_METADATAS
ช่องต่อไปนี้จะเรียกใช้ SKU รายละเอียดสถานที่ (สถานที่ตั้งเท่านั้น)
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
ช่องต่อไปนี้จะเรียกใช้ SKU รายละเอียดสถานที่ (พื้นฐาน)
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
ช่องต่อไปนี้จะเรียกใช้ SKU รายละเอียดสถานที่ (ขั้นสูง)
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.OPENING_HOURS
,Place.Field.USER_RATINGS_TOTAL
,Place.Field.WEBSITE_URI
ช่องต่อไปนี้จะเรียกใช้ SKU รายละเอียดสถานที่ (ที่ต้องการ):
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.RESERVABLE
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,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.ADDRESS
ในคำตอบตรงกับregionCode
ระบบจะไม่ใส่รหัสประเทศในPlace.Field.ADDRESS
รหัส CLDR ส่วนใหญ่จะเหมือนกับรหัส ISO 3166-1 โดยมีข้อยกเว้นที่สำคัญบางประการ เช่น ccTLD ของสหราชอาณาจักรคือ "uk" (.co.uk) ขณะที่รหัส ISO 3166-1 คือ "gb" (ทางเทคนิคสำหรับเอนทิตีของ "สหราชอาณาจักรบริเตนใหญ่และไอร์แลนด์เหนือ") พารามิเตอร์อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง
หากต้องการตั้งค่าพารามิเตอร์รหัสภูมิภาค ให้เรียกเมธอด
setRegionCode()
เมื่อสร้างออบเจ็กต์FetchPlaceRequest
-
โทเค็นของเซสชัน
โทเค็นเซสชันเป็นสตริงที่ผู้ใช้สร้างขึ้น ซึ่งจะติดตามการเรียกการเติมข้อความอัตโนมัติ (ใหม่) เป็น "เซสชัน" การเติมข้อความอัตโนมัติ (ใหม่) ใช้โทเค็นเซสชันเพื่อจัดกลุ่มคำค้นหาและกำหนดขั้นตอนการเลือกการค้นหาด้วยการเติมข้อความอัตโนมัติของผู้ใช้เป็นเซสชันที่แยกกันเพื่อวัตถุประสงค์ในการเรียกเก็บเงิน ระบบจะส่งโทเค็นเซสชันไปยังการเรียกใช้รายละเอียดสถานที่ (ใหม่) หลังการโทรจากการเติมข้อความอัตโนมัติ (ใหม่) ดูข้อมูลเพิ่มเติมได้ที่โทเค็นเซสชัน
หากต้องการตั้งค่าพารามิเตอร์โทเค็นเซสชัน ให้เรียกเมธอด
setSessionToken()
เมื่อสร้างออบเจ็กต์FetchPlaceRequest
ตัวอย่างรายละเอียดสถานที่
ตัวอย่างต่อไปนี้ขอช่อง ID
, NAME
และ 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.NAME, Place.Field.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);