C#与Mapx 如何实现将小车 加入地图中
现在实现 放大,缩小,抓取,说白了都是一句话的事,而用
axMap1.CurrentTool = MapXLib.ToolConstants.miSymbolTool; 不知道用的是这个不,不过在图里放的是一个数字7,怎么能把它换成小车呢?或者有其他的方法。。请大家帮助
[解决办法]
那不是7,是面旗帜吧!因为你没有指定显示哪一个符号,所以mapx默认选择了那个旗帜。
你在axMap1.CurrentTool = MapXLib.ToolConstants.miSymbolTool;
后面添加下面的这句
axMap1.DefaultStyle.PickSymbol();
会弹出符号选择对话框,你可以找到类似小车的符号。
[解决办法]
关于小车的实现, 我在目前的项目中考虑了很久, 最终采用的是CreateSymbol创建符号图元来做的, 自认为效果还可以.我用的 Mapinfo 是5.0版本.
具体做法是: 按照360度方向划分了16个方位, 每一个方位对于一个 小车bmp图标. 这个图标有限制最大尺寸为 48x48, 颜色最多为 256个索引色;在画小车时, 先取得当前坐标和方位索引, 然后Update Point和 style 图标档名称, 相关代码如下:
newX = trackList[i].Lng;
newY = trackList[i].Lat;
carFeature.Point.Set(newX, newY);
bmpindex = trackList[i].DirectionIndex + 1;
carFeature.Style.SymbolBitmapName = String.Format(@"\trackcar\car{0:d}.bmp", bmpindex);
map.ZoomTo(map.Zoom, newX, newY);
carFeature.Update(Type.Missing, Type.Missing);