首页 / 浏览问题 / 组件GIS / 问题详情
点对象点击事件
66EXP 2018年07月05日
如何实现“点击地图中的某一点,会弹出解释这个点的文本框”?

1个回答

您好!设置选择集Selection,将选择集转换为记录集Selection.ToRecordset(),获取当前记录的字段信息Recordset.GetFieldInfos();用文本框显示字段信息即可。
3,352EXP 2018年07月05日
//获取第一个图层第点对象的SMID
                int index = m_mapcontrol.Map.FindSelection(true)[0][0];
                //定位到该点的记录集
                recordset.SeekID(index);
                //设置文本框
                TextBox text = new TextBox();
                text.BackColor = Color.White;
                //获取字段值,并附在文本框中
                text.Text = recordset.GetString("节点信息");

我这样写可以吗?调试程序一切正常,该点的字段信息也附到文本框里了,为什么在地图上显示不出来?  咱们有没有这样的例子?
可能我说的有错误  我就是想点击一下点对象  弹出个气泡  气泡里又对这个点解释的文字
您在地图窗口设置一个TextBox控件,初始时设置为不可见,在您的弹出气泡事件中设置可见就可以了。
Point3D point3D = new Point3D(recordset.GetGeometry().InnerPoint.X,
                            recordset.GetGeometry().InnerPoint.Y, 0);
                        // 设置气泡指向点
                        // Set bubble point
                        bubble.Pointer = point3D;

只能指向三维点吗?二维点没有pointer方法。如果没有这个方法  我怎么做到点击这个点后出来的气泡会指向我点击的这个点?
桌面二维地图  不能实现点击某个地图对象  出现类似于气泡的信息框功能吗?我都不能注册mapcontrol的弹出事件
您好!mapcontrol应该在您的主窗口里有这个控件吧。我指的弹出气泡事件是指您想点击某一按钮或者鼠标在mapcontrol中点击时实现弹出气泡的这个功能。例如点击某一按钮实现,那你可在click事件下设置让您隐藏的TextBox可见即可。
...