3

我正在编写一个使用 MS Mappoint OCX 的 MFC 应用程序。我需要在地图上显示人和车辆的位置,而最好的方法似乎是使用图钉对象。我没有问题显示带有一些文本的股票图钉图标,但想将图标更改为自定义设计的图标。从那里有限数量的 Mappoint 编程信息看来,这样做的方法是从符号对象创建一个符号对象,然后将其分配给这样的图钉..

CSymbols symbols;
CSymbol symbol;

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

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

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

谢谢你的时间

伊恩

4

2 回答 2

4

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

CSymbols symbols;
CSymbol symbol;

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

其中 map 是 Mappoint 控件。

于 2008-10-21T12:23:31.847 回答
0

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

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

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

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

于 2011-01-24T01:13:26.683 回答