如何在Mappoint中为图钉指定自定义图标?

时间:2008-10-17 08:09:15

标签: visual-c++ mappoint

我正在编写一个使用MS Mappoint OCX的MFC应用程序。我需要在地图上显示人员和车辆的位置,这样做的好处似乎是与图钉对象。我没有问题显示带有一些文字的股票图钉图标,但想要将图标更改为自定义设计图标。从有限数量的Mappoint编程信息中可以看出,执行此操作的方法是从符号对象创建符号对象,然后将其分配给此类图钉。

CSymbols symbols;
CSymbol symbol;

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

但程序在symbols.add指令上遇到未处理的异常而崩溃。

谁能告诉我这里做错了什么?还是我完全走错了路?

感谢您的时间

伊恩

2 个答案:

答案 0 :(得分:4)

我自己找到了这个解决方案。以下代码有效..

CSymbols symbols;
CSymbol symbol;

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

where map是Mappoint控件。

答案 1 :(得分:0)

所以看起来你的错误是没有创建符号集合:所以是的,当然它会抛出异常。

如您所见,可以使用MapPoint.Map对象上的Symbols属性访问符号集合。

所有这些都在MapPoint参考中,但它主要在参考表格中,只有很少的教程。 http://www.mp2kmag.comhttp://www.mapforums.comhttp://www.mapping-tools.com/howto/等网站是了解更多内容的良好开端。

(完全披露:最后一个网站是我的,信息是在“howto”路径,而网站的其余部分是商业性的)