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

คู่มือนี้อธิบายกลยุทธ์ต่างๆ ในการเพิ่มประสิทธิภาพการใช้งาน Google Maps APIs ในแง่ของความปลอดภัย ประสิทธิภาพ และการใช้งาน

ความปลอดภัย

ตรวจสอบแนวทางปฏิบัติแนะนำด้านความปลอดภัย

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

การใช้คีย์ API เพื่อเข้าถึง Maps APIs

คีย์ API เป็นวิธีตรวจสอบสิทธิ์ที่แนะนำสำหรับการเข้าถึง Google Maps APIs แม้ว่าระบบจะยังคงรองรับการใช้รหัสไคลเอ็นต์ แต่คีย์ API รองรับการควบคุมความปลอดภัยที่ละเอียดยิ่งขึ้น และสามารถปรับให้ทำงานกับที่อยู่เว็บ ที่อยู่ IP และ SDK สำหรับอุปกรณ์เคลื่อนที่ (Android และ iOS) ที่เฉพาะเจาะจงได้ หากต้องการดูข้อมูลเกี่ยวกับการสร้างและรักษาความปลอดภัยคีย์ API ให้ไปที่หน้า "การใช้คีย์ API" สำหรับ API หรือ SDK แต่ละรายการ (เช่น สำหรับ Maps JavaScript API ให้ไปที่หน้า การใช้คีย์ API)

ประสิทธิภาพ

การใช้ Exponential Backoff เพื่อจัดการข้อผิดพลาด

หากแอปของคุณพบข้อผิดพลาดจากการพยายามเรียก API มากเกินไปภายในระยะเวลาอันสั้น เช่น ข้อผิดพลาดเกี่ยวกับโควต้า ให้พิจารณาใช้ Exponential Backoff เพื่อให้คำขอได้รับการประมวลผล 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 ซึ่งรวมถึง การสร้างงบประมาณ การแก้ไขโควต้า และการตั้งค่าการแจ้งเตือน โปรดดู จัดการค่าใช้จ่าย