คู่มือการเพิ่มประสิทธิภาพ

คู่มือนี้อธิบายกลยุทธ์ต่างๆ ในการเพิ่มประสิทธิภาพการใช้งาน 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

โดยเฉพาะอย่างยิ่ง ให้ปรับความเร็วของคำค้นหา ในโค้ด ให้เพิ่ม ระยะเวลารอ 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 แยกกัน

การสร้างคลัสเตอร์เพื่อจัดการการแสดงเครื่องหมาย

หากต้องการช่วยจัดการการแสดงเครื่องหมายเพื่อระบุตำแหน่งบนแผนที่ ให้ สร้างคลัสเตอร์เครื่องหมายโดยใช้ไลบรารี Marker Clusterer ไลบรารี Marker Clusterer มีตัวเลือกสำหรับสิ่งต่อไปนี้

  • ขนาดกริดเพื่อระบุจำนวนเครื่องหมายที่จะจัดกลุ่ม ในคลัสเตอร์
  • การซูมสูงสุด เพื่อระบุระดับการซูมสูงสุดที่จะแสดงคลัสเตอร์
  • เส้นทางรูปภาพสำหรับรูปภาพกราฟิกที่จะใช้เป็นไอคอนเครื่องหมาย

การรับชม

ดูข้อมูลเกี่ยวกับการจัดการค่าใช้จ่ายของ Google Maps Platform ซึ่งรวมถึง การสร้างงบประมาณ การแก้ไขโควต้า และการตั้งค่าการแจ้งเตือนได้ที่ จัดการค่าใช้จ่าย