首页 新闻 搜索 专区 学院

Gmap.net有没有信息框点击事件?谁研究过

0
悬赏园豆:15 [已关闭问题] 关闭于 2013-12-26 15:40

Gmap.net有没有信息框点击事件?谁研究过

问题补充:

测试了下,点击触发这个GmapTooltip信息框事件,有一个OnMouseClick事件,贴代码供大家看下

protected override void OnMouseClick(MouseEventArgs e)
{

foreach (GMapToolTip m in o.ToolTips)
{
if (m.IsVisible && m.IsHitTestVisible)
{
#region -- check --

bool isContain = m.LocalArea.Contains(e.X, e.Y);
bool isSpace = m.LocalAreaInControlSpace.Contains(e.X, e.Y);
if ((MobileMode && m.LocalArea.Contains(e.X, e.Y)) || (!MobileMode && m.LocalAreaInControlSpace.Contains(e.X, e.Y)))
{
if (OnToolTipClick != null)
{
OnToolTipClick(m, e);
}
break;
}

#endregion
}
}

红色的代码表示判断鼠标是否停留在地图所创建的矩形区域内,如果在,才会触发OnToolTipClick(m, e)这个事件.

大家踊跃讨论啊,分不够加

Danny@yang的主页 Danny@yang | 初学一级 | 园豆:145
提问于:2013-12-16 18:32
< >
分享
所有回答(1)
0
要自定义事件 

--------------------ToolTip Close button------------------------------------------------ CloseRectangle = new System.Drawing.Rectangle(x + width - 1, y - height - 14, 12, 12); Pen closePen = new Pen(Color.FromArgb(140, Color.Red)); closePen.Alignment = PenAlignment.Center; g.DrawEllipse(closePen, CloseRectangle); TooltipFormat.Alignment = StringAlignment.Near; Brush closeBackground = Brushes.DarkRed; g.FillRectangle(closeBackground, CloseRectangle); StringFormat closeFormat = new StringFormat(); closeFormat.Alignment = StringAlignment.Center; Brush closeFontBrush = Brushes.White; g.DrawString("X", TooltipFont, closeFontBrush, CloseRectangle, closeFormat); -------------------------End---------------------------------------------- And added condition in the OnMouseClik Event in GMapControl class else if(m.CloseLocalArea.Contains(e.X, e.Y) && m.TooltipMode == MarkerTooltipMode.Always) { b = true; m.TooltipMode = MarkerTooltipMode.Never; Invalidate(false); break; }
悟行 | 园豆:12422 (专家六级) | 2013-12-17 10:23

大神,我真的没看你懂你写的这个,它里面不是有GmapToolTip这个类吗?不能再它里面添加吗?就像marker一样,只是这个信息框不是直接在overlay上,很郁闷

 

支持(0) 反对(0) Danny@yang | 园豆:145 (初学一级) | 2013-12-17 10:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册