2008-10-17 105 views
3

我在寫一個使用MS Mappoint OCX的MFC應用程序。我需要在地圖上顯示人員和車輛的位置,最好的做法似乎是使用圖釘對象。我用一些文本顯示股票圖釘圖標沒有問題,但想要將圖標更改爲自定義設計的圖標。從MapPoint的編程信息在那裏量有限,看來要做到這一點是建立從符號的符號對象的對象然後分配給這這樣一個圖釘的方式..如何將自定義圖標分配給Mappoint中的圖釘?

CSymbols symbols; 
CSymbol symbol; 

symbol=symbols.Add("c:/temp/myicon.ico"); 
pushpin.put_Symbol(symbol.get_ID()); 

但該方案與崩潰symbols.add指令未處理的異常。

任何人都可以告訴我我在做什麼錯嗎?還是我在完全錯誤的軌道上?

感謝您的時間

伊恩

回答

4

我找到了解決這一個自己。以下代碼工作。

CSymbols symbols; 
CSymbol symbol; 

symbols=map.get_Symbols(); 
symbol=symbols.Add("c:/temp/myicon.ico"); 
pushpin.put_Symbol(symbol.get_ID()); 

其中map是Mappoint控件。

0

所以它看起來像你的錯誤是符號集合尚未創建:所以當然會引發異常。

正如您發現的那樣,可以使用MapPoint.Map對象上的Symbols屬性來訪問符號集合。

所有這些都在MapPoint參考中,但它主要是在參考形式中包含幾個教程。諸如http://www.mp2kmag.comhttp://www.mapforums.comhttp://www.mapping-tools.com/howto/等網站是瞭解更多信息的好開始。

(全面披露:最後一個網站是我的,信息是在「HOWTO」路徑,而網站的其餘部分是商業性質)

相關問題