在Winform中, 我做了个卫星地位系统,现在要实现一个功能:我点击地图中的一辆汽车(有车牌号),就是根据这个车牌号去DB中查询这车的详细情况,并显示在地图中的车旁边,会的帮我!要代码!(C#代码)!!!
解决方案 »
- 项目的main方法的[STAThread]属性设置线程为STA无效, 依然是MTA!老是报OLE之类的错误。有谁遇到过
- sql 双重排序 翻页重复问题 在线等~~~
- 关于C#的几个问题
- 请教一个使用ADO.NET操作数据库时不能删除数据行的问题
- 如何在webform中的Datagrid中添加一个radio 或者checkbox控件
- 淘宝促销价(不是商品价格)
- 中文输入问题,急救!
- 高手赐教------如何在excel菜单中添加一个新的菜单?急!!!
- 那位仁兄能提供给俺一个报表注册码,谢谢了
- 我自己使用C#写了个DLL例子,然后写测试程序加载的时候老提示不能加载
- jQuery怎么获取当前行的下一行的元素
- Volatile 关键字不起作用
在你鼠标移动事件中,加载你的用户控件或关闭你的用户控件。希望交流一下地图制作,[email protected]
GIS属性查询的基本功能而已
你的地图是什么格式的?
我刚写过arcgis类似的代码,不过不是汽车
IArray pIDArray;
IFeatureIdentifyObj pFeatIdObj;
IIdentifyObj pIdObj; //实际地图中图层第6层是信号机层
IFeatureLayer pLayer = axMapControl1.get_Layer(5) as IFeatureLayer;
IIdentify pIdentify = (IIdentify)axMapControl1.get_Layer(5);
IActiveView pActiveView = axMapControl1.ActiveView;
IMap pMap = axMapControl1.Map;
IEnvelope pEnv = axMapControl1.TrackRectangle(); IFeatureClass pFC = pLayer.FeatureClass;
pLayer.Name = pFC.AliasName;
ILayerFields pLayerFields = pLayer as ILayerFields; if (pEnv.IsEmpty == true)
{
tagRECT r;
r.bottom = e.y + 5;
r.top = e.y - 5;
r.left = e.x - 5;
r.right = e.x + 5;
pActiveView.ScreenDisplay.DisplayTransformation.TransformRect(pEnv, ref r, 4);
pEnv.SpatialReference = pActiveView.FocusMap.SpatialReference;
}
pMap.SelectByShape(pEnv, null, false);
pActiveView.Refresh(); //用于显示到datagridview各个中间过程
DataSet ds = new DataSet("dsAttribute");
DataTable dt = new DataTable(pLayer.Name);
DataColumn dc = null;
//属性查询
pIDArray = pIdentify.Identify(pEnv);
if (pIDArray != null)
{
DataRow dr = dt.NewRow();
for (int i = 0; i <= pIDArray.Count; i++)
{
pFeatIdObj = (IFeatureIdentifyObj)pIDArray.get_Element(i);
pIdObj = (IIdentifyObj)pFeatIdObj;
IRowIdentifyObject pRowObj = pFeatIdObj as IRowIdentifyObject;
IFeature pFeature = pRowObj.Row as IFeature; if (pFeature != null)
{
//表头
for (int k = 0; k < pFeature.Table.Fields.FieldCount; k++)
{
dc = new DataColumn(pFeature.Table.Fields.get_Field(k).Name.ToString());
dt.Columns.Add(dc);
dc = null;
}
//各个column的值
for (int j = 0; j < pFeature.Table.Fields.FieldCount; j++)
{
dr[j] = pFeature.get_Value(j).ToString();
}
dt.Rows.Add(dr);
ds.Tables.Add(dt);
dataGridView1.DataSource = ds.Tables[pLayer.Name];
//显示dataGridView(用以显示监控点属性)
dataGridView1.Columns[0].Visible = false;
dataGridView1.Columns[1].Visible = false;
dataGridView1.Show();
}
}
}