本文整理汇总了C#中GraphicsOverlay.HitTestAsync方法的典型用法代码示例。如果您正苦于以下问题:C# GraphicsOverlay.HitTestAsync方法的具体用法?C# GraphicsOverlay.HitTestAsync怎么用?C# GraphicsOverlay.HitTestAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphicsOverlay
的用法示例。
在下文中一共展示了GraphicsOverlay.HitTestAsync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MouseRightButtonUp
private async void MouseRightButtonUp(object parameter)
{
Point curPoint = Mouse.GetPosition(tagView as FrameworkElement);
MapPoint tagPoint = tagView.ScreenToLocation(curPoint);
_graphicsOverlay = tagView.GraphicsOverlays["drawGraphicsOverlay"];
var ga = await _graphicsOverlay.HitTestAsync(tagView, curPoint);
if (ga != null)
{
if(ga.Geometry.GeometryType==GeometryType.Point)
{
drawPointGraphic = ga;
drawpointX = (drawPointGraphic.Geometry as MapPoint).X;
drawpointY = (drawPointGraphic.Geometry as MapPoint).Y;
drawpointZ = (drawPointGraphic.Geometry as MapPoint).Z;
if(pointwinshowing==false)
{
pointWin = new PointToolWin();
pointwinshowing = true;
pointWin.ShowDialog();
}
}
if (ga.Geometry.GeometryType == GeometryType.Polyline)
{
drawLineGraphic = ga;
linegraphictext = drawLineGraphic.Attributes["Label"] as string;
linewidth = (drawLineGraphic.Symbol as SimpleLineSymbol).Width;
Esri.ArcGISRuntime.Geometry.PointCollection tagcol = new Esri.ArcGISRuntime.Geometry.PointCollection();
foreach (var part in (drawLineGraphic.Geometry as Polyline).Parts)
{
for(int i=0;i<part.Count;i++)
{
var linepart = part.ElementAt(i);
tagcol.Add(linepart.StartPoint);
if(i==(part.Count-1)) tagcol.Add(linepart.EndPoint);
drawLineZ = linepart.StartPoint.Z;
}
}
Linepointcollec = tagcol;
if(linewinshowing==false)
{
LineWin = new LineToolWin();
linewinshowing = true;
LineWin.ShowDialog();
}
}
if (ga.Geometry.GeometryType == GeometryType.Polygon)
{
drawPolygonGraphic = ga;
polygongraphictext = drawPolygonGraphic.Attributes["Label"] as string;
Esri.ArcGISRuntime.Geometry.PointCollection tagcol = new Esri.ArcGISRuntime.Geometry.PointCollection();
foreach (var part in (drawPolygonGraphic.Geometry as Polygon).Parts)
{
for (int i = 0; i < part.Count; i++)
{
var Polygonpart = part.ElementAt(i);
tagcol.Add(Polygonpart.StartPoint);
if (i == (part.Count - 1)) tagcol.Add(Polygonpart.EndPoint);
drawPolygonZ = Polygonpart.StartPoint.Z;
}
}
Polygonpointcollec = tagcol;
if(Polygonwinshowing==false)
{
PolygonWin = new PolygonToolWin();
Polygonwinshowing = true;
PolygonWin.ShowDialog();
}
}
}
}