คู่มือนี้จะอธิบายกลยุทธ์ต่างๆ ในการเพิ่มประสิทธิภาพการใช้งาน Google Maps API ในด้านความปลอดภัย ประสิทธิภาพ และการบริโภค
ความปลอดภัย
การตรวจสอบแนวทางปฏิบัติแนะนำด้านความปลอดภัย
คีย์ API เป็นข้อมูลเข้าสู่ระบบที่เน้นโปรเจ็กต์เป็นหลัก ซึ่งควรได้รับการป้องกันเช่นเดียวกับรหัสผู้ใช้และรหัสผ่าน โปรดอ่านแนวทางปฏิบัติแนะนำด้านความปลอดภัยของ API เพื่อรักษาคีย์ของคุณให้ปลอดภัยจากการใช้งานที่ไม่ตั้งใจ ซึ่งอาจนำไปสู่การเรียกเก็บเงินจากบัญชีของคุณโดยไม่คาดคิดและการใช้โควต้าเกิน
การใช้คีย์ API เพื่อเข้าถึง Maps API
คีย์ API เป็นวิธีการตรวจสอบสิทธิ์ที่แนะนำสำหรับการเข้าถึง Google Maps API แม้ว่าระบบจะยังคงรองรับการใช้รหัสไคลเอ็นต์ แต่คีย์ API รองรับการควบคุมความปลอดภัยที่ละเอียดยิ่งขึ้นและสามารถปรับให้ทำงานร่วมกับเว็บแอดเดรส ที่อยู่ IP และ SDK บนอุปกรณ์เคลื่อนที่ที่เฉพาะเจาะจง (Android และ iOS) ได้ ดูข้อมูลเกี่ยวกับการสร้างและรักษาความปลอดภัยของคีย์ API ได้ที่หน้า "การใช้คีย์ API" สําหรับ API หรือ SDK แต่ละรายการ (เช่น สําหรับ Maps JavaScript API ให้ไปที่หน้าการใช้คีย์ API)
ประสิทธิภาพ
การใช้ Exponential Backoff เพื่อจัดการข้อผิดพลาด
หากแอปพบข้อผิดพลาดจากการพยายามเรียก API มากเกินไปภายในระยะเวลาสั้นๆ เช่น ข้อผิดพลาดเกี่ยวกับโควต้า ให้ลองใช้การลดจำนวนคำขอแบบทวีคูณเพื่อให้ระบบประมวลผลคำขอ
Exponential Backoff มีประโยชน์มากที่สุดสำหรับข้อผิดพลาดในหมวด 500 ดูข้อมูลเพิ่มเติมได้ที่การจัดการรหัสสถานะการตอบกลับ HTTP
กล่าวคือ ปรับความถี่ในการค้นหา ในโค้ด ให้เพิ่มระยะเวลารอ S
วินาทีระหว่างการค้นหา หากการค้นหายังคงส่งผลให้เกิดข้อผิดพลาดเกี่ยวกับโควต้า ให้เพิ่มระยะเวลารอเป็น 2 เท่า แล้วส่งการค้นหาอีกครั้ง ปรับระยะเวลารอต่อไปจนกว่าการค้นหาจะแสดงผลโดยไม่มีข้อผิดพลาด
ส่งคําขอการโต้ตอบของผู้ใช้ตามคําขอ
คำขอไปยัง API ที่มีการโต้ตอบของผู้ใช้ควรส่งเมื่อได้รับคําขอเท่านั้น
ซึ่งหมายความว่าต้องรอให้ผู้ใช้ปลายทางดำเนินการ (เช่น on-click
) เพื่อเริ่มคําขอ API จากนั้นใช้ผลลัพธ์เพื่อโหลดแผนที่ ตั้งค่าจุดหมาย หรือแสดงข้อมูลที่สอดคล้องกัน การใช้แนวทางแบบออนดีมานด์จะช่วยหลีกเลี่ยงคำขอที่ไม่จำเป็นไปยัง API ซึ่งจะช่วยลดการใช้ API
หลีกเลี่ยงการแสดงเนื้อหาการวางซ้อนเมื่อแผนที่กำลังเคลื่อนไหว
หลีกเลี่ยงการใช้ Draw()
เพื่อแสดงเนื้อหาการวางซ้อนที่กําหนดเองบนแผนที่ในเวลาเดียวกับที่ผู้ใช้อาจเลื่อนแผนที่ เนื่องจากระบบจะวาดแผนที่ใหม่ทุกครั้งที่ผู้ใช้เลื่อนแผนที่ การวางเนื้อหาวางซ้อนบนแผนที่พร้อมกันอาจทำให้เกิดความล่าช้าหรือภาพกระตุก เพิ่มหรือนำเนื้อหาวางซ้อนออกจากแผนที่ก็ต่อเมื่อผู้ใช้หยุดเลื่อนหรือซูม
หลีกเลี่ยงการดำเนินการที่ต้องใช้ทรัพยากรมากในเมธอด Draw
โดยทั่วไปแล้ว คุณควรหลีกเลี่ยงการดำเนินการที่ไม่ใช่การวาดซึ่งส่งผลต่อประสิทธิภาพอย่างมากในเมธอด Draw()
ตัวอย่างเช่น หลีกเลี่ยงการใช้สิ่งต่อไปนี้ในโค้ดเมธอด Draw()
- การค้นหาที่แสดงผลเนื้อหาจำนวนมาก
- การเปลี่ยนแปลงข้อมูลจำนวนมากที่แสดง
- การจัดการองค์ประกอบ Document Object Model (DOM) หลายรายการ
การดำเนินการเหล่านี้อาจทำให้ประสิทธิภาพช้าลงและทำให้เกิดความล่าช้าหรือภาพกระตุกเมื่อเรนเดอร์แผนที่
การใช้รูปภาพแรสเตอร์สำหรับเครื่องหมาย
ใช้รูปภาพแบบแรสเตอร์ เช่น รูปภาพในรูปแบบ .PNG หรือ .JPG เมื่อเพิ่มเครื่องหมายเพื่อระบุตำแหน่งบนแผนที่ หลีกเลี่ยงการใช้รูปภาพกราฟิกเวกเตอร์ที่ปรับขนาดได้ (SVG) เนื่องจากการแสดงผลรูปภาพ SVG อาจทำให้เกิดความล่าช้าเมื่อมีการวาดแผนที่ใหม่
การเพิ่มประสิทธิภาพเครื่องหมาย
การเพิ่มประสิทธิภาพจะช่วยเพิ่มประสิทธิภาพด้วยการแสดงผลเครื่องหมายหลายรายการเป็นองค์ประกอบแบบคงที่รายการเดียว ซึ่งมีประโยชน์ในกรณีที่ต้องใช้เครื่องหมายจํานวนมาก โดยค่าเริ่มต้น Maps JavaScript API จะตัดสินใจว่าจะเพิ่มประสิทธิภาพเครื่องหมายหรือไม่ เมื่อเครื่องหมายมีจำนวนมาก Maps JavaScript API จะพยายามแสดงผลเครื่องหมายโดยเพิ่มประสิทธิภาพ มาร์กเกอร์บางรายการเพิ่มประสิทธิภาพไม่ได้ ในบางสถานการณ์ Maps JavaScript API อาจต้องแสดงผลมาร์กเกอร์โดยไม่เพิ่มประสิทธิภาพ ปิดใช้การแสดงผลแบบเพิ่มประสิทธิภาพสำหรับ GIF แบบเคลื่อนไหวหรือ PNG หรือเมื่อต้องแสดงผลเครื่องหมายแต่ละรายการเป็นองค์ประกอบ DOM แยกกัน
การสร้างคลัสเตอร์เพื่อจัดการการแสดงเครื่องหมาย
หากต้องการช่วยจัดการการแสดงเครื่องหมายเพื่อระบุตำแหน่งบนแผนที่ ให้สร้างคลัสเตอร์เครื่องหมายโดยใช้ไลบรารีเครื่องมือจัดกลุ่มเครื่องหมาย ไลบรารีการคลัสเตอร์เครื่องหมายมีตัวเลือกต่อไปนี้
- ขนาดตารางกริด เพื่อระบุจํานวนเครื่องหมายที่จะจัดกลุ่มไว้ด้วยกันในกลุ่ม
- ซูมสูงสุด เพื่อระบุระดับการซูมสูงสุดที่จะแสดงคลัสเตอร์
- เส้นทางรูปภาพสำหรับรูปภาพกราฟิกที่จะใช้เป็นไอคอนเครื่องหมาย
การรับชม
ดูข้อมูลเกี่ยวกับการจัดการค่าใช้จ่ายใน Google Maps Platform ซึ่งรวมถึงการสร้างงบประมาณ การแก้ไขโควต้า และการตั้งการแจ้งเตือนได้ที่หัวข้อจัดการค่าใช้จ่าย