ArcGIS for SilverLight之FindGraphicsInHostCoordinates

7 篇文章 1 订阅
6 篇文章 0 订阅
本文介绍如何利用DrawObject工具在地图上绘制矩形选择框,并通过转换坐标系找到被选框覆盖的所有图元。文章详细展示了如何计算并转换坐标,以及如何使用FeatureLayer的FindGraphicsInHostCoordinates方法来获取选定区域内的所有图元。
摘要由CSDN通过智能技术生成

用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, x2), Math.Max(y1, y2)));
var ftrs = fLayer.FindGraphicsInHostCoordinates(new Rect(pt1, pt2));

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值