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对象。
希望能有所帮助。