首页 / 浏览问题 / 组件GIS / 问题详情
将一个坐标点增加到当前跟踪图层正在画的图形中?
5月17日, 2017
当前mapcontrol的Action为CreatePolygon,TrackMode为TrackMode.Track,并且用户已经点击了第一个节点,正在画第二个节点的时候,如何将已知的一个点point1作为该多边形的第二个点?代码怎么写?

1个回答

GeoRegion georegion = mapcontrol.Map.TrackingLayer.Get(0) as GeoRegion;
Point2Ds pts = georegion[0];
pts.Add(point_new);

GeoRegion georegion_new = new GeoRegion(pts);
mapcontrol.Map.TrackingLayer.Clear();
mapcontrol.Map.TrackingLayer.Add(georegion_new, "track");

新将跟踪图层中已经有的获取出来,点追加进去,重新构建对象添加到跟踪层
程逸诗  (4,429EXP)  名扬四海
5月17日, 2017
这个是已经画完图形,跟踪图层中已经存在一个要素,然后在要素中添加一个节点。我这个问题是当前正在画图形,跟踪图层中还没有完整的要素,也就是说 mapcontrol.Map.TrackingLayer.Get(0) as GeoRegion  这一句会报错,提示索引越界。
那就使用mapcontrol的tracking事件,通过e.geometry来获取对象。
...