บทนำ
เมื่อเรียกใช้เมธอด Place Details (ใหม่), Nearby Search (ใหม่), หรือ Text Search (ใหม่) คุณต้องระบุฟิลด์ที่ต้องการให้แสดงผลในการตอบกลับ ไม่มีรายการฟิลด์เริ่มต้นที่แสดงผล หากไม่ระบุรายการนี้ เมธอดจะแสดงข้อผิดพลาด
ดูรายการฟิลด์ข้อมูลทั้งหมดที่รองรับและ SKU ที่เกี่ยวข้องได้ที่ ฟิลด์ข้อมูลสถานที่ (ใหม่) หากต้องการดูข้อมูลเกี่ยวกับฟิลด์ที่เฉพาะเจาะจงสำหรับแต่ละ API โปรดดูข้อมูลต่อไปนี้
- พารามิเตอร์ FieldMask ของ Place Details (ใหม่)
- พารามิเตอร์ FieldMask ของ Nearby Search (ใหม่)
- พารามิเตอร์ FieldMask ของ Text Search (ใหม่)
คุณระบุรายการฟิลด์โดยสร้างมาสก์ฟิลด์การตอบกลับ จากนั้นส่ง
มาสก์ฟิลด์การตอบกลับไปยังเมธอดใดเมธอดหนึ่งโดยใช้พารามิเตอร์ $fields หรือ
fields หรือโดยใช้ส่วนหัว HTTP หรือ gRPC X-Goog-FieldMask
การมาสก์ฟิลด์เป็นแนวทางปฏิบัติที่ดีในการออกแบบเพื่อให้มั่นใจว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยงเวลาในการประมวลผลและค่าใช้จ่ายในการเรียกเก็บเงินที่ไม่จำเป็น
กำหนดมาสก์ฟิลด์การตอบกลับ
มาสก์ฟิลด์การตอบกลับคือรายการเส้นทางที่คั่นด้วยคอมมา โดยแต่ละเส้นทางจะระบุฟิลด์ที่ไม่ซ้ำกันในเนื้อหาการตอบกลับ เส้นทางจะเริ่มต้นจากข้อความตอบกลับระดับบนสุดและใช้เส้นทางที่คั่นด้วยจุดไปยังฟิลด์ที่ระบุ
สร้างเส้นทางฟิลด์ดังนี้
topLevelField[.secondLevelField][.thirdLevelField][...]
คุณขอฟิลด์ทั้งหมดได้โดยใช้มาสก์ฟิลด์ *
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างมาสก์ฟิลด์ได้ที่ field_mask.proto
กำหนดมาสก์ฟิลด์ที่จะใช้
วิธีกำหนดมาสก์ฟิลด์ที่ต้องการใช้
- ขอฟิลด์ทั้งหมดโดยใช้มาสก์ฟิลด์
* - ดูลำดับชั้นของฟิลด์ในการตอบกลับและกำหนดฟิลด์ที่ต้องการ
- สร้างมาสก์ฟิลด์โดยใช้ลำดับชั้นของฟิลด์
กำหนดมาสก์ฟิลด์การตอบกลับสำหรับ Nearby Search (ใหม่) และ Text Search (ใหม่)
Nearby Search (ใหม่) และ Text Search (ใหม่) จะแสดงผลอาร์เรย์ของออบเจ็กต์ Place ในฟิลด์ places ของการตอบกลับ สำหรับ API เหล่านี้ places เป็นฟิลด์ระดับบนสุดของการตอบกลับ
ตัวอย่างเช่น หากต้องการดูออบเจ็กต์การตอบกลับที่สมบูรณ์จาก Text Search (ใหม่) ให้ทำดังนี้
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: *' \
'https://places.googleapis.com/v1/places:searchText'ออบเจ็กต์การตอบกลับที่สมบูรณ์จากการเรียก Text Search (ใหม่) จะอยู่ในรูปแบบต่อไปนี้
{ "places": [ { "name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0", "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0", "types": [ "vegetarian_restaurant", "vegan_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "nationalPhoneNumber": "0433 479 794", "internationalPhoneNumber": "+61 433 479 794", "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Spiced @ Barangaroo", "languageCode": "en" }, ... }, ... ] }
ดังนั้น คุณจึงระบุมาสก์ฟิลด์สำหรับ API เหล่านี้ในรูปแบบต่อไปนี้
places[.secondLevelField][.thirdLevelField][...]
หากต้องการแสดงผลเฉพาะฟิลด์ formattedAddress และ displayName ให้ตั้งค่ามาสก์ฟิลด์เป็น
places.formattedAddress,places.displayName
การระบุ displayName จะรวมทั้งฟิลด์ text และ language ของ displayName หากต้องการเฉพาะฟิลด์ text ให้ตั้งค่ามาสก์ฟิลด์เป็น
places.formattedAddress,places.displayName.text
กำหนดมาสก์ฟิลด์การตอบกลับสำหรับ Place Details (ใหม่)
Place Details (ใหม่) จะแสดงผลออบเจ็กต์ Place รายการเดียวในรูปแบบต่อไปนี้
{ "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g", "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g", "types": [ "locality", "political" ], "formattedAddress": "Trinidad, CA 95570, USA", "displayName": { "text": "Trinidad", "languageCode": "en" } ... }
ดังนั้น คุณจึงระบุมาสก์ฟิลด์สำหรับ API นี้โดยระบุฟิลด์ของออบเจ็กต์ Place ที่ต้องการให้แสดงผล
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: formattedAddress,displayName" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
การเรียก gRPC
สำหรับ gRPC ให้ตั้งค่าตัวแปรที่มีมาสก์ฟิลด์การตอบกลับ จากนั้นส่งตัวแปรดังกล่าวไปยังคำขอ
const ( fieldMask = "places.formattedAddress,places.displayName" )
ข้อควรพิจารณาเกี่ยวกับเส้นทางฟิลด์
รวมเฉพาะฟิลด์ที่จำเป็นในการตอบกลับ การแสดงผลเฉพาะฟิลด์ที่จำเป็นจะทำให้เกิดสิ่งต่อไปนี้
- ลดเวลาในการประมวลผล เพื่อให้ระบบแสดงผลลัพธ์โดยมีเวลาในการตอบสนองที่ต่ำลง
- รับประกันประสิทธิภาพเวลาในการตอบสนองที่เสถียร หาก API เพิ่มฟิลด์การตอบกลับเพิ่มเติมในอนาคต และฟิลด์ใหม่เหล่านั้นต้องใช้เวลาในการคำนวณเพิ่มเติม หากคุณเลือกฟิลด์ทั้งหมด หรือเลือกฟิลด์ทั้งหมดที่ระดับบนสุด คุณอาจพบประสิทธิภาพการทำงานลดลงเมื่อระบบรวมฟิลด์ใหม่ทั้งหมดในการตอบกลับโดยอัตโนมัติ
- ขนาดการตอบกลับเล็กลง ซึ่งหมายถึงปริมาณข้อมูลที่ส่งผ่านเครือข่าย สูงขึ้น
- รับประกันว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยง เวลาในการประมวลผลและค่าใช้จ่ายที่เรียกเก็บที่ไม่จำเป็น