微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ArcGIS for SilverLight之FindGraphicsInHostCoordinates

用DrawObject画框,并选中框框内的图元:

//fLayer为FeatureLayer
double x1,y1,x2,y2;
mapControl.MapToScreen(rc.XMin,rc.YMin,out x1,out y1);
mapControl.MapToScreen(rc.XMax,rc.YMax,out x2,out y2);
//需要将屏幕坐标点转到Application.Current.RootVisual对应的坐标点
var trans = mapControl.TransformToVisual(Application.Current.RootVisual);
//注意:pt1为最小坐标,pt2为最大坐标
var pt1 = trans.Transform(new Point(Math.Min(x1,x2),Math.Min(y1,y2)));
var pt2 = trans.Transform(new Point(Math.Max(x1,Math.Max(y1,y2)));
var ftrs = fLayer.FindGraphicsInHostCoordinates(new Rect(pt1,pt2));

foreach (var ftr in ftrs)
	ftr.Select();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐