首页 / 浏览问题 / 组件GIS / 问题详情
地理坐标定位
66EXP 2017年10月20日
在下拉框点击A1,下面地图中自动定位到A1区域所在的位置显示?这个该怎么做?

1个回答

您好,现获取到A1代表的面对象(Georegion),然后使用Map.EnsureVisible(Georegion)方法定位过去
5,985EXP 2017年10月20日
//获得数据集中给定ID的对象
Int32[] id = new Int32[] { index };
Recordset recordset = dataset.Query(id, CursorType.Static);
Geometry geometry = recordset.GetGeometry();
//全幅显示该对象
m_mapControl2.Map.EnsureVisible(geometry);

我能获取A1做代表的id  这样写实现不出来。调试的时候,点击A6,index=6,但id=int[1]不知道怎么回事
你获取到你ID=6,你使用SQL查询的时候直接用ID=6作为查询条件就行了,存数组不知道是什么意思。或者你如果知道对象的SmID=6,直接用Recorset.SeekID()方法把记录定位到第六条,再获取对象就可以了。
recordset.SeekID(index);

Geometry geometry = recordset.GetGeometry();
Double ratio1 = 0.1;
m_mapControl2.Map.EnsureVisible(geometry, ratio1);

效果是实现了,直接把A1对象显示出来了,我的A1对象是条线。我要的是点击A1,下面的实际图自顶定位到A1所在的位置就好了,因为图太大,可能窗口中A1的位置没出现。
...