我在优化绘制类似 Google 的地图时遇到问题。它适用于数百个点,但当涉及到数千个点时,它会变得模糊和缓慢。也未缩放它看起来很奇怪。
我想知道如何优化绘图算法以绘制更少的地方,所以它看起来像在谷歌地图上取消缩放。
但是,我也绘制了地点之间的链接,但我无法优化它。
请发表任何你能想到的东西,我必须完成这个并明天发送。
这是它的样子:
这里有两个想法:
我们在地图上绘制的每个对象在数据库中都有一个额外的值,即“缩放级别”。放大时,将根据该值显示额外的项目。
第二种方法是使用分组。如果项目开始重叠,则以 [10 项] 显示一个点。放大时仅显示其下方的项目。
一些提示:
我想我会很想不画短于阈值的线(我的意思是视口,而不是绝对距离)。这意味着当地图缩小时,您将可以绘制更少的内容,并且地图看起来不那么繁忙,并且当地图放大时,这些附近点之间的线将变得可见。编辑:实际上,再想一想,我想我只会在屏幕上有大量行时才应用这个长度限制——或者使长度阈值成为屏幕上行数的函数。
我想我也很想不绘制来自屏幕外(视口外)或至少远离屏幕(远离视口中心的阈值)的点的线。我建议先尝试这个改变。
这些更改可能看起来会隐藏信息(而且它们会隐藏信息),但就目前而言,地图是如此繁忙,所提供的信息无论如何都几乎没有用。