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

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

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

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

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

ตอบกลับอินพุตของผู้ใช้

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

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

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

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

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

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

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

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

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

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

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

บทสรุป

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

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

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

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