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

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

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

กรณีการใช้งานและคำแนะนำ API

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

การตอบสนองต่อข้อมูลจากผู้ใช้

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

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

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

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

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

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

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

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

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

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

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

บทสรุป

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

การจัดการข้อผิดพลาดและการลองใหม่

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

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