我在使用C#将MS MapPoint 2009集成到我的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对象.
希望有所帮助.