我正在编写一个使用MS Mappoint OCX的MFC应用程序。我需要在地图上显示人员和车辆的位置,这样做的好处似乎是与图钉对象。我没有问题显示带有一些文字的股票图钉图标,但想要将图标更改为自定义设计图标。从有限数量的Mappoint编程信息中可以看出,执行此操作的方法是从符号对象创建符号对象,然后将其分配给此类图钉。
CSymbols symbols;
CSymbol symbol;
symbol=symbols.Add("c:/temp/myicon.ico");
pushpin.put_Symbol(symbol.get_ID());
但程序在symbols.add指令上遇到未处理的异常而崩溃。
谁能告诉我这里做错了什么?还是我完全走错了路?
感谢您的时间
伊恩
答案 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.com,http://www.mapforums.com和http://www.mapping-tools.com/howto/等网站是了解更多内容的良好开端。
(完全披露:最后一个网站是我的,信息是在“howto”路径,而网站的其余部分是商业性的)