我正在编写一种导航应用程序,需要留下一条多边形的痕迹。创建多边形并将它们添加到地图不是问题,但是我必须用新的多边形更新地图。这样做的标准方法是:
Map1.Refresh()
但是执行以下操作也可以,但是它们具有相同的效果,因为它们是由 Refresh() 调用的较低级别的函数
Map1.ResetBuffer()
Map1.MapFrame.Invalidate()
我大约每秒添加一个新多边形,这意味着在 10 分钟内我有 600 个多边形。刷新过程清除整个缓冲区并通过每一层和每一层的每个特征重新创建它。当你有 1 层和 600 个特征时,这需要一秒钟多的时间,所以程序会卡住。我意识到现在我也已经找到了解决方案,只画了最后一个特征,但是:
- 我不知道如何
- 也许有一些其他的解决方案可以以某种方式刷新地图,这对性能来说并不是那么昂贵,理想情况下它不应该取决于需要显示的总大小,而只取决于需要绘制的新对象的大小.
欢迎任何可以帮助我在地图上留下多边形轨迹的建议,C#、VB.NET 或简单的古英语。