【发布时间】:2018-05-15 07:08:12
【问题描述】:
我正在使用 Google 地图中的热图图层来显示热图,但是,我现在有太多点并且它停止工作,因为浏览器无法再处理它了。我发现它们提供了 Fusion Tables,但它们也受到限制:100k 行,这太少了。我需要渲染数百万甚至更多点的热图。如果我的服务器可以有一些 PHP 脚本来呈现热图,例如,每天一次,那我就完美了。然后来自 js 的客户端将只下载预加载的热图(在地图上,如谷歌地图,但也可能是不同的地图)。这是否可以通过一些现有技术实现(可以商业化)?
【问题讨论】:
-
您真的需要在所有时间显示所有点吗?你能不能只加载落在视口内的点,也许限制最小缩放级别、地图容器尺寸等?
-
是和不是。目前,所有点都在一个城市周围,我想查看整个城市(今天大约 150 万点)。以后其他城市也可以用,那我就想到了,不过我说了,一个城市还是太多了。我需要预渲染的热图 :)
-
您可以添加图像叠加层。这是 google maps 开发者文档的链接:developers.google.com/maps/documentation/javascript/… 预生成热图并作为覆盖添加到 javascript。
-
我试过 MapBox:mapbox.com/mapbox-gl-js/example/heatmap-layer 但它从 json 文件加载点。好吧,经过很长时间的加载,它几乎无法使用 100 000 点。
标签: javascript php google-maps heatmap google-fusion-tables