arcEngine经典代码-添加气泡提示框(标注,文本,)
private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
{
if (i >= 3)//测试目的
return;
i++;
ITextElement te = createTextElement(e.mapX,e.mapY,"魁x");
axMapControl1.ActiveView.GraphicsContainer.AddElement(te as IElement, 1);
axMapControl1.Refresh(esriViewDrawPhase.esriViewGraphics, null, null);
}
int i;
public IBalloonCallout createBalloonCallout(double x, double y)
{
IRgbColor rgb = new RgbColorClass();
{
rgb.Red = 255;
rgb.Green = 255;
rgb.Blue = 200;
}
ISimpleFillSymbol sfs = new SimpleFillSymbolClass();
{
sfs.Color = rgb;
sfs.Style = esriSimpleFillStyle.esriSFSSolid;
}
IPoint p = new PointClass();
{
p.PutCoords(x, y);
}
IBalloonCallout bc = new BalloonCalloutClass();
{
bc.Style = esriBalloonCalloutStyle.esriBCSRoundedRectangle;
//
bc.Symbol = sfs;
//
bc.LeaderTolerance = 10;
//1
bc.AnchorPoint = p;
}
return bc;
}
public ITextElement createTextElement(double x, double y, string text)
{
IBalloonCallout bc = createBalloonCallout(x, y);
IRgbColor rgb = new RgbColorClass();
{
//rgb.Red = 255;
rgb.Green = 255;
}
ITextSymbol ts = new TextSymbolClass();
{
ts.Color = rgb;
}
IFormattedTextSymbol fts = ts as IFormattedTextSymbol;
{
fts.Background = bc as ITextBackground;
}
//fts.Size = 8;
ts.Size = 8;
IPoint point = new PointClass();
{
double width = axMapControl1.Extent.Width / 13;
double height = axMapControl1.Extent.Height / 20;
point.PutCoords(x + width, y + height);
}
ITextElement te = new TextElementClass();
//IMarkerElement me = new MarkerElementClass();
{
te.Symbol = ts;
//ts.Text = text;
te.Text = text;
}
IElement e = te as IElement;
{
e.Geometry = point;
}
return te;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?