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

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

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

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

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

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

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

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

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

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

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

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

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

บทสรุป

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

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

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

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