แนวทางปฏิบัติแนะนำเกี่ยวกับการระบุพิกัดทางภูมิศาสตร์

การจับคู่พิกัดภูมิศาสตร์เป็นกระบวนการแปลงที่อยู่ (เช่น ที่อยู่ตามถนน) เป็นพิกัดทางภูมิศาสตร์ (ละติจูดและลองจิจูด) ที่คุณสามารถใช้วางเครื่องหมายบนแผนที่หรือจัดตำแหน่งแผนที่ เอกสารนี้มุ่งเน้นที่การชี้แจงข้อควรพิจารณาที่เกี่ยวข้องกับการจับคู่ที่อยู่ตามภูมิศาสตร์ ซึ่งจะอธิบายว่าควรใช้ Geocoding API เมื่อใด และควรใช้บริการ Place Autocomplete ของ Places API เมื่อใด

โดยทั่วไป ให้ใช้ Geocoding API เมื่อทำการจับคู่ที่อยู่แบบสมบูรณ์ (เช่น "48 Pirrama Rd, Pyrmont, NSW, Australia") ใช้ Places API บริการ Place Autocomplete เมื่อทำการจับคู่ที่อยู่ที่ไม่ชัดเจน (ไม่สมบูรณ์) กับพิกัดภูมิศาสตร์ หรือสําหรับแอปพลิเคชันที่ไวต่อเวลาในการตอบสนอง เช่น เมื่อตอบสนองต่ออินพุตของผู้ใช้

กรณีการใช้งานและคําแนะนําเกี่ยวกับ API

กรณีการใช้งานและคําแนะนําเกี่ยวกับ API
ตอบสนองต่อข้อมูลที่ผู้ใช้ป้อนแบบเรียลไทม์ (รวมถึงที่อยู่ที่ไม่ชัดเจน ไม่สมบูรณ์ มีรูปแบบไม่ถูกต้อง หรือสะกดผิดซึ่งผู้ใช้ป้อน) ใช้บริการ Place Autocomplete ของ Places API เพื่อรับรหัสสถานที่ จากนั้นใช้ Geocoding API เพื่อแปลงรหัสสถานที่เป็นพิกัดภูมิศาสตร์
ระบบอัตโนมัติที่ประมวลผลที่อยู่ที่สมบูรณ์ ไม่คลุมเครือ และชัดเจน (เช่น "48 Pirrama Rd, Pyrmont, NSW, Australia") ใช้เว็บเซอร์วิส Geocoding API
ระบบอัตโนมัติที่ประมวลผลคำค้นหาที่ไม่ชัดเจน (เช่น ที่อยู่ที่ไม่สมบูรณ์ รูปแบบไม่ถูกต้อง หรือสะกดผิด) แนะนำให้ระบบอัตโนมัติใช้เว็บเซอร์วิส Geocoding API อย่างไรก็ตาม ระบบอัตโนมัติที่มีการค้นหาที่ไม่ชัดเจน ไม่สมบูรณ์ หรือสะกดผิดสูงซึ่งมาจากข้อมูลที่ผู้ใช้ป้อนอาจได้ประโยชน์จากการเพิ่มวิดเจ็ตการเติมข้อความอัตโนมัติของสถานที่แบบอินเทอร์แอกทีฟเพื่อให้ผู้ใช้เลือกผลลัพธ์และหลีกเลี่ยงการสะกดที่อยู่ผิด
ปัญหาเกี่ยวกับเวลาในการตอบสนองเมื่อใช้ Directions API หรือ Distance Matrix API โดยระบุต้นทาง ปลายทาง หรือจุดแวะพักเป็นสตริงที่อยู่ ลดเวลาในการตอบสนองของการจับคู่พิกัดภูมิศาสตร์โดยใช้บริการ Place Autocomplete ของ Places API เพื่อรับรหัสสถานที่ จากนั้นส่งรหัสสถานที่ไปยัง Directions API หรือ Distance Matrix API

ตอบสนองต่ออินพุตของผู้ใช้

แอปพลิเคชันที่ตอบสนองต่ออินพุตของผู้ใช้แบบเรียลไทม์มีข้อควรพิจารณาหลัก 2 ข้อที่ส่งผลต่อการเลือก API

  1. โดยทั่วไป อินพุตของผู้ใช้จะเกี่ยวข้องกับการป้อนที่อยู่ทีละส่วน (เช่น "123 Main Street") ดังนั้นความสามารถในการจับคู่ที่อยู่ที่ไม่สมบูรณ์และไม่ชัดเจนกับพิกัดภูมิศาสตร์จึงมีประโยชน์เนื่องจากช่วยให้ผู้ใช้ได้รับผลลัพธ์เร็วขึ้น
  2. แอปพลิเคชันที่ตอบสนองต่ออินพุตของผู้ใช้มีความไวต่อเวลาในการตอบสนองสูง

ข้อควรพิจารณา 2 ข้อนี้ทำให้ บริการ Place Autocomplete ใน Places API เหมาะสําหรับ Use Case ของการตอบสนองต่อข้อมูลที่ผู้ใช้ป้อน การเติมข้อความอัตโนมัติของสถานที่ออกแบบมาเพื่อแสดงตัวเลือกที่เป็นไปได้หลายรายการและอนุญาตให้ผู้ใช้เลือกตัวเลือกที่ต้องการ คุณจำกัด Places API ให้ค้นหาเฉพาะรหัสพิกัดภูมิศาสตร์หรือที่อยู่ได้ขณะที่ยกเว้นธุรกิจ นอกจากนี้ ฟังก์ชันการค้นหาแบบเติมข้อความอัตโนมัติอาจแสดงผลการค้นหาที่เฉพาะเจาะจงสำหรับสถานที่หนึ่งๆ Places API จะแสดงผล Place ID ซึ่งสามารถส่งเป็นตำแหน่งที่กำจัดความกำกวมทั้งหมดไปยังเว็บเซอร์วิส Geocoding API ซึ่งจะแสดงรายละเอียดที่อยู่แบบเต็มและจับคู่ที่อยู่เป็นพิกัดภูมิศาสตร์เป็น latlng นอกจากนี้ คุณยังส่งรหัสสถานที่ไปยัง API อื่นๆ ได้ด้วย เช่น Directions API และ Distance Matrix API (ดูด้านล่าง)

การแปลงที่อยู่เป็นพิกัดภูมิศาสตร์ใน Geocoding API มีความล่าช้าสูงกว่ามาก และยังให้ผลลัพธ์ที่ไม่แม่นยำสำหรับคำค้นหาที่ไม่สมบูรณ์หรือคลุมเครือด้วย ดังนั้นจึงไม่แนะนำสำหรับแอปพลิเคชันที่ต้องตอบสนองต่ออินพุตของผู้ใช้แบบเรียลไทม์

ดูข้อมูลเพิ่มเติมเกี่ยวกับบริการ Place Autocomplete สำหรับ Android, iOS, JavaScript และ Places API

ระบบอัตโนมัติ

ระบบอัตโนมัติที่ประมวลผลที่อยู่ไปรษณีย์ที่สมบูรณ์และไม่คลุมเครือ: บริการเว็บ Geocoding API จะจัดการการค้นหาที่ไม่คลุมเครือ เช่น สตริงที่อยู่ไปรษณีย์ที่สมบูรณ์ (เช่น "48 Pirrama Rd, Pyrmont, NSW, Australia") ได้ดีที่สุด แบ็กเอนด์การแปลงที่อยู่เป็นพิกัดภูมิศาสตร์จะครอบคลุมที่อยู่ทั่วโลกได้มากขึ้น และได้รับการเพิ่มประสิทธิภาพเพื่อให้ได้ผลลัพธ์ที่มีคุณภาพสูงด้วยคำค้นหาที่สมบูรณ์และไม่คลุมเครือประเภทเหล่านี้

ระบบอัตโนมัติประมวลผลการค้นหาที่คลุมเครือ: การค้นหาที่คลุมเครือคือคำค้นหาที่มีที่อยู่ที่มีการจัดรูปแบบไม่ดี ที่อยู่ไม่สมบูรณ์ หรือการสะกดผิด สําหรับระบบอัตโนมัติ เราขอแนะนําให้ใช้ เว็บเซอร์วิส Geocoding API อย่างไรก็ตาม Geocoding API ไม่ได้ออกแบบมาเพื่อจัดการกับการค้นหาที่ไม่ชัดเจน และอาจให้ผลลัพธ์ที่ไม่ถูกต้องหรือไม่มีผลลัพธ์เลยเมื่อจัดการกับการค้นหาที่ไม่ชัดเจน หากระบบอัตโนมัติของคุณประมวลผลคำค้นหาที่คลุมเครือซึ่งมาจากอินพุตของผู้ใช้ในอัตราสูง คุณอาจได้ประโยชน์จากการเพิ่มองค์ประกอบแบบอินเทอร์แอกทีฟลงในแอปโดยใช้ บริการ Place Autocomplete ใน Places API เนื่องจากบริการนี้ออกแบบมาเพื่อแสดงผลตัวเลือกที่เป็นไปได้หลายรายการและอนุญาตให้ผู้ใช้เลือกตัวเลือกที่ต้องการ Places API จะแสดงรหัสสถานที่ซึ่งสามารถส่งเป็นสถานที่ที่ระบุตำแหน่งได้อย่างชัดเจนไปยังเว็บเซอร์วิส Geocoding API ซึ่งจะแสดงรายละเอียดที่อยู่แบบเต็มและจับคู่ที่อยู่เป็นพิกัดภูมิศาสตร์เป็น latlng ดูข้อมูลเพิ่มเติมเกี่ยวกับบริการ Place Autocomplete สำหรับ Android, iOS, JavaScript และ Places API

ลดเวลาในการตอบสนองของ Directions API และ Distance Matrix API

เมื่อระบุต้นทาง ปลายทาง หรือจุดแวะพักเป็นสตริงที่อยู่ Directions API และ Distance Matrix API จะใช้แบ็กเอนด์เดียวกับ Geocoding API เพื่อจับคู่ที่อยู่เหล่านี้กับพิกัดภูมิศาสตร์ก่อนคำนวณเส้นทาง ซึ่งจะเพิ่มเวลาในการตอบสนองอย่างมากเมื่อเทียบกับการระบุสถานที่เดียวกันกับ latlng หรือรหัสสถานที่

หากแอปพลิเคชันของคุณใช้ Directions API หรือ Distance Matrix API ในสถานการณ์ที่คำนึงถึงความล่าช้า เช่น การตอบสนองต่ออินพุตของผู้ใช้ และจุดต้นทาง จุดหมาย หรือจุดแวะพักได้รับการระบุเป็นสตริงที่อยู่ตั้งแต่แรก เราขอแนะนำให้คุณลดเวลาในการตอบสนองโดยใช้บริการ Place Autocomplete ของ Places API เพื่อแปลงสตริงที่อยู่เป็นรหัสสถานที่ จากนั้นส่งรหัสสถานที่ไปยัง Directions API หรือ Distance Matrix API ดูข้อมูลเพิ่มเติมเกี่ยวกับบริการ Place Autocomplete สำหรับ Android, iOS, JavaScript และ Places API ดู ตัวอย่าง JavaScript ของการเติมข้อความอัตโนมัติของสถานที่และเส้นทางด้วย

บทสรุป

เมื่อทำการจับคู่ที่อยู่กับพิกัดภูมิศาสตร์ การใช้ Geocoding API หรือบริการ Place Autocomplete ร่วมกับ Geocoding API จะช่วยให้คุณสร้างแอปพลิเคชันที่แสดงผลลัพธ์การจับคู่ที่อยู่กับพิกัดภูมิศาสตร์ที่แม่นยำแก่ผู้ใช้และลดเวลาในการตอบสนองได้ ทั้งนี้ขึ้นอยู่กับกรณีการใช้งาน

จัดการข้อผิดพลาดและการลองอีกครั้ง

หากได้รับคําตอบ UNKNOWN_ERROR คําตอบเหล่านี้เกิดจากข้อผิดพลาดชั่วคราว และวิธีจัดการที่ดีที่สุดคือลองอีกครั้งหลังจากรอสักครู่ เราขอแนะนำให้ใช้ไลบรารีไคลเอ็นต์ของบริการเว็บ Google Maps Platform ซึ่งประกอบด้วยตรรกะการลองอีกครั้งและรองรับการตรวจสอบสิทธิ์ของ Google Maps Platform Premium Plan ไคลเอ็นต์ Java, ไคลเอ็นต์ Python, ไคลเอ็นต์ Go และไคลเอ็นต์ Node.js สำหรับบริการ Google Maps เป็นไลบรารีไคลเอ็นต์ที่ชุมชนสนับสนุน ซึ่งพร้อมให้ดาวน์โหลดและมีส่วนร่วมใน GitHub โดยคุณจะเห็นวิธีการติดตั้งและโค้ดตัวอย่างด้วย

หากได้รับรหัสสถานะ OVER_QUERY_LIMIT เป็นการตอบกลับ แสดงว่าคุณใช้งาน API เกินขีดจํากัด เราขอแนะนําให้คุณลองใช้ กลยุทธ์การเพิ่มประสิทธิภาพการใช้งานเหล่านี้