การระบุพิกัดทางภูมิศาสตร์คือกระบวนการแปลงที่อยู่ (เช่น ที่อยู่) เป็นพิกัดทางภูมิศาสตร์ (ละติจูดและลองจิจูด) ซึ่งคุณสามารถใช้เพื่อวางเครื่องหมายบนแผนที่ หรือกําหนดตําแหน่งบนแผนที่ได้ เอกสารฉบับนี้มีจุดประสงค์เพื่อชี้แจงถึงข้อควรพิจารณาที่เกี่ยวข้องเมื่อระบุที่อยู่ทางภูมิศาสตร์ ซึ่งจะอธิบายว่าควรใช้ 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 ดังนี้
- โดยทั่วไปแล้ว ข้อมูลผู้ใช้จะเกี่ยวกับการป้อนที่อยู่แบบต่อเนื่อง (เช่น "123 ถนนสุขุมวิท") ดังนั้นการระบุพิกัดทางภูมิศาสตร์ที่ไม่สมบูรณ์จึงช่วยตอบสนองความต้องการได้เพราะจะทําให้ผู้ใช้ได้รับผลลัพธ์เร็วขึ้น
- แอปพลิเคชันที่ตอบสนองต่อการป้อนข้อมูลของผู้ใช้มีความละเอียดอ่อนสูง
ข้อควรพิจารณา 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 แล้ว เราขอแนะนําให้คุณลองใช้กลยุทธ์การเพิ่มประสิทธิภาพการใช้งานเหล่านี้