Hướng dẫn tối ưu hoá

Hướng dẫn này mô tả một số chiến lược để tối ưu hoá việc sử dụng API Google Maps về mặt bảo mật, hiệu suất và mức sử dụng.

Bảo mật

Xem xét các phương pháp hay nhất về bảo mật

Khoá API là thông tin xác thực tập trung vào dự án và cần được bảo vệ như mã nhận dạng người dùng và mật khẩu. Tham khảo Các phương pháp hay nhất về bảo mật API để bảo vệ khoá của bạn khỏi việc sử dụng ngoài ý muốn, điều này có thể dẫn đến việc sử dụng hạn mức không hợp lý và các khoản phí ngoài dự kiến cho tài khoản của bạn.

Sử dụng khoá API để truy cập vào API Maps

Khoá API là phương thức xác thực ưu tiên để truy cập vào các API của Google Maps. Mặc dù vẫn hỗ trợ việc sử dụng mã ứng dụng, nhưng khoá API hỗ trợ các chế độ kiểm soát bảo mật chi tiết hơn và có thể được điều chỉnh để hoạt động với các địa chỉ web, địa chỉ IP và SDK dành cho thiết bị di động cụ thể (Android và iOS). Để biết thông tin về cách tạo và bảo mật khoá API, hãy truy cập vào trang "Sử dụng khoá API" cho từng API hoặc SDK. (Ví dụ: đối với API Maps JavaScript, hãy truy cập trang Sử dụng khoá API.)

Hiệu suất

Sử dụng thuật toán thời gian đợi luỹ thừa để xử lý lỗi

Nếu ứng dụng của bạn gặp lỗi do quá nhiều lần gọi API trong một khoảng thời gian ngắn, chẳng hạn như lỗi hạn mức, hãy cân nhắc sử dụng thời gian đợi luỹ thừa để cho phép xử lý các yêu cầu.

Thuật toán thời gian đợi luỹ thừa hữu ích nhất đối với các lỗi trong khoảng 500. Để biết thêm thông tin, hãy xem phần Xử lý mã trạng thái trả về HTTP.

Cụ thể, hãy điều chỉnh tốc độ của các truy vấn. Trong mã, hãy thêm khoảng thời gian chờ là S giây giữa các truy vấn. Nếu truy vấn vẫn dẫn đến lỗi hạn mức, hãy tăng gấp đôi thời gian chờ rồi gửi một truy vấn khác. Tiếp tục điều chỉnh khoảng thời gian chờ cho đến khi truy vấn trả về mà không có lỗi.

Gửi yêu cầu tương tác của người dùng theo yêu cầu

Bạn chỉ nên gửi yêu cầu đến các API có hoạt động tương tác của người dùng theo yêu cầu. Điều này có nghĩa là chờ người dùng cuối thực hiện một hành động (chẳng hạn như on-click) để bắt đầu yêu cầu API, sau đó sử dụng kết quả để tải bản đồ, đặt đích đến hoặc hiển thị thông tin phù hợp. Việc sử dụng phương pháp theo yêu cầu sẽ tránh được các yêu cầu không cần thiết đối với API, giúp giảm mức sử dụng API.

Tránh hiển thị nội dung lớp phủ khi bản đồ đang di chuyển

Tránh sử dụng Draw() để hiển thị nội dung lớp phủ tuỳ chỉnh trên bản đồ cùng lúc với khi người dùng có thể di chuyển bản đồ. Vì bản đồ được vẽ lại mỗi khi người dùng di chuyển bản đồ, nên việc đặt nội dung lớp phủ trên bản đồ cùng một lúc có thể gây ra hiện tượng giật hoặc hình ảnh bị giật. Chỉ thêm hoặc xoá nội dung lớp phủ khỏi bản đồ sau khi người dùng ngừng kéo hoặc thu phóng.

Tránh các thao tác chuyên sâu trong phương thức Draw

Nguyên tắc chung là bạn nên tránh các thao tác không vẽ tốn nhiều hiệu suất trong phương thức Draw(). Ví dụ: hãy tránh những nội dung sau trong mã phương thức Draw():

  • Các cụm từ tìm kiếm trả về một lượng lớn nội dung.
  • Có nhiều thay đổi đối với dữ liệu đang hiển thị.
  • Thao tác với nhiều phần tử Mô hình đối tượng tài liệu (DOM).

Các thao tác này có thể làm chậm hiệu suất và gây ra độ trễ hoặc hình ảnh bị giật khi bản đồ hiển thị.

Sử dụng hình ảnh đường quét cho điểm đánh dấu

Sử dụng hình ảnh đường quét, chẳng hạn như hình ảnh ở định dạng .PNG hoặc .JPG, khi thêm điểm đánh dấu để xác định vị trí trên bản đồ. Tránh sử dụng hình ảnh Đồ hoạ vectơ có thể mở rộng (SVG), vì việc kết xuất hình ảnh SVG có thể gây ra độ trễ khi bản đồ được vẽ lại.

Đánh dấu tối ưu hoá

Tính năng tối ưu hoá giúp nâng cao hiệu suất bằng cách hiển thị nhiều điểm đánh dấu dưới dạng một phần tử tĩnh duy nhất. Điều này hữu ích trong trường hợp cần có một số lượng lớn điểm đánh dấu. Theo mặc định, API JavaScript của Maps sẽ quyết định xem một điểm đánh dấu có được tối ưu hoá hay không. Khi có một số lượng lớn điểm đánh dấu, API JavaScript của Maps sẽ cố gắng hiển thị các điểm đánh dấu bằng tính năng tối ưu hoá. Không phải tất cả Điểm đánh dấu đều có thể được tối ưu hoá; trong một số trường hợp, API JavaScript của Maps có thể cần hiển thị Điểm đánh dấu mà không cần tối ưu hoá. Tắt tính năng kết xuất được tối ưu hoá cho ảnh GIF động hoặc PNG, hoặc khi mỗi điểm đánh dấu phải được kết xuất dưới dạng một phần tử DOM riêng biệt.

Tạo cụm để quản lý chế độ hiển thị điểm đánh dấu

Để giúp quản lý việc hiển thị điểm đánh dấu nhằm xác định vị trí trên bản đồ, hãy tạo một cụm điểm đánh dấu bằng thư viện Marker Clusterer (Trình tạo cụm điểm đánh dấu). Thư viện Marker Clusterer bao gồm các tuỳ chọn cho:

  • Kích thước lưới, để chỉ định số lượng điểm đánh dấu cần nhóm lại với nhau trong một cụm.
  • Mức thu phóng tối đa, để chỉ định mức thu phóng tối đa để hiển thị cụm.
  • Đường dẫn hình ảnh, để các hình ảnh đồ hoạ sử dụng làm biểu tượng điểm đánh dấu.

Xem nội dung

Để biết thông tin về cách quản lý chi phí trên Google Maps Platform, bao gồm cả việc tạo ngân sách, sửa đổi hạn mức và đặt cảnh báo, hãy xem phần Quản lý chi phí.