- 积分
- 57082
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
发表于 2013-1-4 12:48:15
|
显示全部楼层
大蘑菇 发表于 2013-1-4 09:59
感谢王老师,我看了二次开发教程二的内容,只是教了如何调用封装的identifer,我的想法是:选择一个站点后, ...
我把思路讲一下,你根据思路自己写代码,我会给出关键的代码,遇到具体问题再讨论。
1、在MapView中用鼠标选择站点首先需要添加MouseDown或者MouseClick事件,在Demo程序中添加了MouseMove事件,你可以参考。
2、利用MapView的SelectShapes(MapLayer aLayer, PointF aPoint, ref List<int> selectedShapes)方法来选择站点。
(1) 获取站点图层,比如站点图层的名称为“站点”:
VectorLayer aLayer = (VectorLayer) mapView1.GetLayerFromoName("站点");
(2) 获取鼠标位置:
PointF aPoint = new PointF(e.X, e.Y);
(3) 选择站点图元:
List<int> selectedShapes = new List<int>();
mapView1.SelectShapes(aLayer, aPoint, ref selectedShapes);
3、获取被选择站点的属性,比如站点图层有字段“站点名称”:
string name = aLayer.GetCellValue("站点名称", selectedShapes[0]).ToString(); |
|