目前我正在使用Google Maps v.3 API在地图上绘制标记.我总共有大约500个标记.
出于显示目的,我在浏览器的客户端使用此工具使用markerCluster和组标记.
但是,我计划扩大位置数量,并假设它可以快速增长到100K甚至200K.
我做了一些压力测试,并意识到当前的解决方案基本上杀死了浏览器和大约10-20K标记.
所以我的问题是什么是绘制许多标记的最佳方法(不是必要的谷歌地图)?
我读过类似问题的帖子,例如:
基本上人们建议使用一些clusterer用于显示目的,我已经使用过.
或者使用融合表来检索数据,这不是一个选项,因为数据必须保留在我的服务器上.此外,我假设显示功能受到融合表的限制.
我正在考虑实现以下场景:
在每个页面上缩放/加载 - 发送带有显示视图边界的ajax请求,在所有边上添加约30%并检索仅在此地理区域中的标记.如果用户缩小,则会添加30%,以便我可以快速显示其他标记,然后在背景中进一步后退(其他地方)
当标记的数量超过50时 - 我计划将聚类应用于显示目的.但由于javascript中的markerCluster非常慢,即不是markerCluster而是谷歌本身,因为它仍然应用所有标记的位置,我打算通过在大约15*15网格中分割显示的地图的边界来在服务器端进行聚类然后将标记放入特定的单元格中,然后基本上将内部标记的数量发送给客户端集群(例如,用于热图).然后将群集显示为标记.
你能不能给一些有相似之处的人提供一些见解.一般来说它是否有意义.或者这是一个愚蠢的方法,因为ajax请求将在每个地图缩放和移位时发送到服务器,并基本上使冗余请求超载服务器?
我想要实现的是在大型标记数据集上的良好用户体验(在不到2秒的时间内加载).
我想生成热图图像作为Google地图的叠加层.我正在寻找一个PHP库,它可以在生成图像时考虑多个维度.假设我有两个维度:密度和质量.如何从这个输入生成热图?