MapPoint 2009负载性能

时间:2020-03-05 18:52:29  来源:igfitidea点击:

我在将MS MapPoint 2009集成到C#的WinForms .Net 2.0应用程序时遇到了一些问题。我已经将ActiveX MapPoint控件添加到窗体上,并且使其显示地图和位置没有问题。我担心的是创建地图后加载地图所花费的时间。

在我的开发机上进行的测试表明,平均加载时间在3到5秒之间,在此期间应用程序被完全锁定。尽管这不是完全不能接受的,但是要失去对应用程序的控制权却要花很长时间。另外,由于GUI线程已锁定,因此无法显示加载对话框或者掩盖加载时间的内容。

挂起的行是这样的:(其中axMappointControl1是MapPoint控件)

axMappointControl1.NewMap(MapPoint.GeoMapRegion.geoMapNorthAmerica);

我尝试在另一个线程上执行NewMap方法,但是GUI线程仍然最终被阻塞。

我的问题是:

  • 加载MapPoint时,我该如何加快速度?
  • 有什么方法可以加载MapPoint以便它不会阻止GUI线程吗?

任何帮助是极大的赞赏。

解决方案

回答

根据mapforums.com上的这些线程,ActiveX启动缓慢是众所周知的,并且是不可避免的(尽管通过线程化来提高GUI响应速度的问题仍然存在。

建议的一件事是放弃ActiveX版本,转而使用MapPoint.Application对象。

希望能有所帮助。