Hiện tại tôi đang sử dụng API Google Maps v.3 để vẽ các điểm đánh dấu trên bản đồ. Tôi có tổng cộng khoảng 500 điểm đánh dấu.Đang tải các điểm đánh dấu 100-200K trên bản đồ google
Để hiển thị mục đích, tôi sử dụng markerCluster và đánh dấu nhóm bằng cách sử dụng công cụ này ở phía máy khách trong trình duyệt.
Tuy nhiên, tôi dự định mở rộng số địa điểm và giả sử nó có thể tăng lên 100K hoặc thậm chí 200K một cách nhanh chóng.
Tôi đã thực hiện một số kiểm tra căng thẳng và nhận ra rằng giải pháp hiện tại về cơ bản sẽ giết chết trình duyệt và khoảng 10-20K điểm đánh dấu.
Vì vậy, câu hỏi của tôi là cách tiếp cận tốt nhất để vẽ nhiều điểm đánh dấu (không cần bản đồ google) là gì?
Tôi đã đọc bài viết với những câu hỏi tương tự, ví dụ .:
Showing many markers in Google Maps
Best solution for too many pins on google maps
Về cơ bản người đề nghị sử dụng một số clusterer cho mục đích hiển thị, mà tôi đã sử dụng.
Hoặc sử dụng bảng tổng hợp để truy xuất dữ liệu, đây không phải là một tùy chọn vì dữ liệu phải nằm trên máy chủ của tôi. Ngoài ra tôi cho rằng chức năng hiển thị bị giới hạn với các bảng tổng hợp.
Tôi đang suy nghĩ về việc thực hiện các tình huống sau:
trên mỗi trang zoom/tải - gửi yêu cầu ajax với bờ cõi của các điểm trưng bày, thêm khoảng 30% trên tất cả các bên và lấy bút viết bảng, mà chỉ rơi vào vùng địa lý này. 30% được thêm vào trong trường hợp người dùng thu nhỏ, để tôi có thể hiển thị các điểm đánh dấu khác nhanh chóng và sau đó truy tìm thêm ở phần còn lại xung quanh (lãnh thổ rộng hơn)
Khi số điểm đánh dấu lớn hơn 50 - thì tôi lên kế hoạch áp dụng phân cụm để hiển thị mục đích. Nhưng khi markerCluster trong javascript khá chậm, cụ thể là không phải markerCluster nhưng bản thân google, vì nó vẫn áp dụng vị trí của tất cả các điểm đánh dấu, tôi định làm cụm ở phía máy chủ bằng cách chia các giới hạn của bản đồ được hiển thị trong khoảng 15 * 15 lưới và thả các điểm đánh dấu vào các ô cụ thể và sau đó về cơ bản gửi đến các cụm máy khách với số lượng điểm đánh dấu bên trong (ví dụ như cho bản đồ nhiệt). Và sau đó hiển thị các cụm làm điểm đánh dấu.
Bạn có thể đưa ra một số thông tin chi tiết về bất kỳ ai đã làm tương tự. Nó có ý nghĩa nói chung không. Hoặc là nó một cách tiếp cận ngu ngốc như yêu cầu ajax sẽ được gửi đến máy chủ trên mỗi bản đồ zoom và thay đổi và về cơ bản quá tải máy chủ với yêu cầu dự phòng?
Điều tôi muốn đạt được là trải nghiệm người dùng tốt đẹp trên các bộ dữ liệu lớn của các điểm đánh dấu (tải trong chưa đầy 2 giây).
Thay vào đó, hãy mang điểm đánh dấu qua cuộc gọi ajax theo lô và vẽ chúng theo lô – sunil
@sunil bạn có thể xây dựng không? Vì vậy, tải hàng loạt cho các khu vực cụ thể và vẽ chúng theo khu vực - nó sẽ là một mớ hỗn độn cho người dùng tôi nghĩ. – Volder
Một cách khác để nghĩ về sơ đồ của bạn là bạn có các ô vector đa cấp trên máy chủ - giống như các ô bản đồ nhưng các "lát" này là vị trí của vị trí đánh dấu/cụm trong một khu vực. Giao diện người dùng yêu cầu "lát" như vậy theo mức thu phóng và mức độ. Các khách hàng có thể cache "gạch" như vậy và do đó có thể không cần phải tải lại với mọi zoom và pan. – headuck