เมธอด GeocodeAddress และ SearchDestinations รองรับพารามิเตอร์ effort ที่ไม่บังคับ ซึ่งช่วยให้คุณควบคุมความสมดุลระหว่างเวลาในการตอบสนองและความแม่นยำในการแปลงที่อยู่ได้
แม้ว่าการเข้ารหัสพิกัดภูมิศาสตร์มาตรฐานจะจัดการที่อยู่ไปรษณีย์ที่มีรูปแบบถูกต้องได้ในเวลาไม่ถึงวินาที แต่ข้อมูลที่ผู้ใช้ป้อนในชีวิตจริงมักจะไม่สมบูรณ์ ไม่เป็นทางการ หรือซับซ้อน (เช่น "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West,
Mumbai" หรือ "where the warriors play, sf") การกำหนดค่าระดับ effort ที่สูงขึ้นจะช่วยให้คุณสั่งให้ Geocoding API ใช้การให้เหตุผลและการแก้ความกำกวมเพิ่มเติมเพื่อแก้ไขที่อยู่ที่ซับซ้อนได้
ระดับความพยายาม
ระบุค่าใดค่าหนึ่งต่อไปนี้สำหรับพารามิเตอร์ effort
| ระดับความพยายาม | คำอธิบาย | เวลาในการตอบสนองปกติ | กรณีการใช้งานที่แนะนำ |
|---|---|---|---|
EFFORT_UNSPECIFIED |
ค่าเริ่มต้น ทำงานเหมือนกับความพยายาม LOW |
ต่ำกว่าวินาที | การเข้ารหัสพิกัดภูมิศาสตร์มาตรฐานเริ่มต้น |
LOW |
เพิ่มประสิทธิภาพเพื่อให้ได้เวลาตอบกลับที่เร็วที่สุด ไม่ทำการค้นหาแบบขยายหรือการแก้ความกำกวมสำหรับที่อยู่ที่ยาก | ต่ำกว่าวินาที | การค้นหาแบบอินเทอร์แอกทีฟแบบเรียลไทม์ การตรวจสอบ Address Validation มาตรฐานปริมาณมาก |
MEDIUM |
ให้ทั้งความเร็วและความแม่นยำที่สมดุล คำขอส่วนใหญ่จะแสดงผลด้วยเวลาในการตอบสนองต่ำตามมาตรฐาน สำหรับที่อยู่ที่กำกวมหรือยาก บริการจะใช้การประมวลผลเพิ่มเติมเพื่อปรับปรุงความแม่นยำ ซึ่งอาจใช้เวลาถึง 2-3 วินาที | ไม่ถึง 1 วินาทีสำหรับที่อยู่มาตรฐาน และไม่เกิน 2-3 วินาที (≤ 4 วินาที) สำหรับที่อยู่ที่กำกวม | เวิร์กโฟลว์ของผู้ใช้แบบอินเทอร์แอกทีฟ (เช่น การยืนยันที่อยู่เมื่อชำระเงิน) ซึ่งผู้ใช้สามารถยอมรับการหยุดชั่วคราวสั้นๆ ได้ |
HIGH |
เพิ่มความแม่นยำในการแปลงที่อยู่สำหรับที่อยู่ที่ไม่สมบูรณ์ ไม่เป็นทางการ หรือซับซ้อน เวลาในการตอบกลับอาจนานขึ้นอย่างมาก | สูงสุด 20 วินาทีสำหรับที่อยู่ที่ซับซ้อน | การประมวลผลเบื้องหลัง, การทำ Batch Geocoding, การจัดส่งด้านโลจิสติกส์ หรือการปรับแต่งที่อยู่หลังการชำระเงินแบบอะซิงโครนัส |
ตัวอย่างคำขอ
ค้นหาจุดหมาย (SearchDestinations)
ใส่ช่อง effort ในเนื้อหาคำขอ JSON ของคำขอ POST ไปยัง https://geocode.googleapis.com/v4alpha/geocode/destinations พารามิเตอร์ effort
ส่งผลต่อความละเอียดของ addressQuery เป็นหลัก
curl -X POST -d '{
"addressQuery": {
"addressQuery": "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai"
},
"effort": "HIGH"
}' \
-H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4alpha/geocode/destinations
เข้ารหัสพิกัดภูมิศาสตร์ของที่อยู่ (GeocodeAddress)
ส่งพารามิเตอร์ effort เป็นพารามิเตอร์การค้นหาของ URL ในคำขอ GET ไปยังปลายทาง /v4alpha/ ดังนี้
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4alpha/geocode/address/where+the+warriors+play,+sf?effort=MEDIUM"
การลดผลกระทบจากเวลาในการตอบสนอง
เมื่อใช้ความพยายาม MEDIUM หรือ HIGH ในแอปพลิเคชัน การส่งคำขอแบบรอบเดียวเป็นการผสานรวมที่ง่ายที่สุด แต่คำขอในโหมดเหล่านี้อาจทำให้เกิดเวลาในการตอบสนองที่สูงขึ้น ซึ่งอาจทำให้เวิร์กโฟลว์แบบซิงโครนัส แสดงต่อผู้ใช้ และไวต่อเวลาในการตอบสนองล่าช้า
หากต้องการลดผลกระทบของเวลาในการตอบสนองนี้ต่อโฟลว์ผู้ใช้แบบอินเทอร์แอกทีฟ (เช่น การชำระเงินหรือการจอง) คุณสามารถใช้เวิร์กโฟลว์แบบหลายรอบได้ ดังนี้
- รอบที่ 1 (แบบอินเทอร์แอกทีฟ): ส่งคำขอที่โหลดแบบซิงโครนัสด้วย
effort=LOW(หรือค่าเริ่มต้น) เพื่อตรวจสอบที่อยู่ทันทีโดยมีเวลาในการตอบสนองต่ำกว่าวินาที - รอบที่ 2 (เบื้องหลัง): ส่งคำขอติดตามผลแบบอะซิงโครนัสด้วย
effort=MEDIUMหรือeffort=HIGH(เช่น หลังชำระเงินหรือก่อนจัดส่ง) เพื่อแปลงที่อยู่ที่ซับซ้อนเป็นพิกัด ทางเข้า และจุดนำทางที่มีความแม่นยำสูงโดยไม่บล็อกผู้ใช้
ขีดจำกัดการใช้งาน
ในระหว่างระยะการเปิดตัวเวอร์ชันทดลอง (v4alpha) คำขอที่มีการตั้งค่า effort เป็น MEDIUM หรือ HIGH จะมีการจำกัดอัตราคำขอที่เข้มงวดกว่าคำขอมาตรฐาน (LOW) หากแอปพลิเคชันของคุณเกินขีดจำกัดอัตราคำขอเหล่านี้ API จะแสดงข้อผิดพลาด RESOURCE_EXHAUSTED (HTTP 429) หากพบข้อผิดพลาด HTTP 429 หรือต้องการโควต้าที่สูงขึ้นสำหรับ Use Case ของคุณ โปรดติดต่อเราผ่านช่องทางแสดงความคิดเห็น
ความคิดเห็น
นี่เป็นฟีเจอร์ทดลองของ Geocoding API เรายินดีรับฟังความคิดเห็นที่ geocoding-feedback-channel@google.com