点击点对象,弹出气泡

0 投票
120 浏览
点击mapcontrol中的地图对象,显示气泡弹出框效果(二维地图开发)。(你们iobject文档里有个三维地图显示旗气泡的例子,有很多地方对二维地图使用,我如何做在二维地图中实现这个效果?)
最新提问 7月 5 分类:  120次浏览 | 用户: 610950937 才疏学浅 (10 分)

1个回答

0 投票
您好!您先自定义一个bubbleControlModel控件,主程序中初始化mapControl.Controls .Add(bubbleControlModel);bubbleControlModel.Visible = false;在您要弹出气泡的事件中设置可见即可。 bubbleControlModel.Location = point; bubbleControlModel.Visible = true;
最新回答 7月 5 用户: 胡延南 名扬四海 (1,730 分)
对,我知道是这样,二维地图mapcontrol好像不能注册气泡事件。

//气泡位置变化时触发该事件
 m_sceneControl.BubbleResize += new BubbleResizeEventHandler(m_sceneControl_BubbleResize);
 

您看这个,m_sceneControl是三维船体控件,而二维窗体事件mapcontrol就不能直接注册这个气泡事件。
是的。二维地图中没有气泡位置发生变化时触发的事件,您可以在地图上鼠标左键选择一个点,在鼠标点击这个事件中获取点的坐标并将这个点赋给bubbleControlModel,也就是 bubbleControlModel.Location = point; bubbleControlModel.Visible = true;

您看做出来的效果是这样的,定位很不精准,我点击一号站结果气泡(白色矩形区域就是)跑到下面去了(usercontrol.Location = new Point(e.X, e.X);
                usercontrol.Visible = true;)

而我想要的是这样的效果(气泡底下的指向箭头是怎样做到的?):

...