2008-09-12 51 views
3

我在將MS MapPoint 2009整合到C#中的WinForms .Net 2.0應用程序中時遇到了一些問題。我已將ActiveX MapPoint控件添加到表單中,並且無需顯示地圖和位置;我擔心的是一旦創建地圖就需要加載地圖。MapPoint 2009加載性能

我的開發機器上的測試顯示平均加載時間在3到5秒之間,在此期間應用程序被完全鎖定。雖然這不是完全不可接受的,但是對於應用程序失去控制是非常長的時間。另外,由於GUI線程被鎖定,我無法顯示加載對話框或掩蓋加載時間的內容。

該掛線是這樣的:(其中axMappointControl1是MapPoint的控制)

axMappointControl1.NewMap(MapPoint.GeoMapRegion.geoMapNorthAmerica); 

我試圖執行在另一個線程上的NewMap方法但GUI線程仍然最終被阻止。

我的問題是:

  • 我能做些什麼,當它加載加快MapPoint的?
  • 有沒有辦法加載MapPoint,以便它不會阻止GUI線程?

任何幫助,非常感謝。

回答

5

thesethreads在mapforums.com的ActiveX啓動的緩慢是衆所周知的,不可避免的(儘管線程的幫助GUI響應的問題仍然是開放的。

一件事是建議放棄ActiveX版贊成MapPoint.Application對象,而不是

希望幫助的

1

是應用程序的版本在自己的線程中運行。 - 所以這應該是一個更快的選擇 - 更容易做你自己的東西,而這是開始但MapPoint 2010年用戶啓動時往往需要幾秒鐘才能啓動。

我會創建一個臨時的GUI線程,並使用它在啓動時顯示啓動畫面和/或做任何線程安全的初始化,你需要做的。

對MapPoint實例(或ActiveX控件)的所有調用必須來自創建MapPoint控件或應用程序對象的相同線程。