2009-11-29 73 views
0

我有优化绘制谷歌般的地图的问题。它可以运行数百个点,但是当涉及到数千个大数量时,它会变得模糊和缓慢。也unzoomed它看起来不可思议。优化地图绘图

我想知道如何优化绘图算法绘制较少的地方,所以它看起来像unzooming谷歌地图。

但是我也画地方之间的联系,我不能优化。

请张贴任何你能想到的,我一定要完成这一点,并把它的明天。

下面是它的样子:

zoomed in zoomed out

回答

0

我想我会被诱惑不能画是短于阈值线(我的意思是这在视口中,不是绝对的距离方面而言)。这意味着,当地图缩小时,绘制的画面会减少,地图显得不那么忙,并且地图放大时,这些相邻点之间的线条将变得可见。编辑:实际上,再想一想,我想我只会在屏幕上有很多行的时候应用这个长度限制 - 或者使长度阈值成为屏幕上行数的函数。

我想我也会试图画出不在屏幕上的点(离开视口)或者至少是相当远离屏幕的方式(远离视口中心的一个阈值)。我建议先尝试这个改变。

这些变化可能看起来像他们将隐藏信息(他们会),但是,就目前而言,地图非常繁忙,这些信息几乎无用。

+0

谢谢,减少滞后一个一点点,但我迟到了,我提交了非优化版本,因为我不确定我可以把它做到截止日期(这是延迟到2.12.2009 23:59) – mnn 2009-12-04 08:11:07

0

一些提示:

  1. 剪辑区域,绘制点仅在剪辑区域
  2. 您可以检查开源GIS项目,看看他们如何优化绘图。
+0

是的,我画可视面积+之上一些像素内只点(我猜20)。问题是可能与链接 – mnn 2009-11-29 19:42:19

1

这里有两个想法:

  1. ,我们在地图上绘制在数据库中,“缩放级别”额外价值的每个对象。当放大额外项目时将根据该值显示。

  2. 这第二种方法是使用分组。如果项目开始重叠,则显示[10项]的一个点。只有在缩放时显示的项目它下面。

+0

首先是好的,但点和链接是用户定义的,所以我不能只是猜测缩放水平:),第二个也不错,我看看那一个 – mnn 2009-11-29 20:08:24