请教:如何使用.net和MapX进行Web开发??????

newthunder 2005-04-23 09:41:23
现在项目要求在一个WEB页面显示地图,有基本的拖动和缩放功能,要求在选中一个单位之后,能跳转页面,显示单位信息。。
本人无GIS的开发经验,请问谁有可借鉴和参考的东东吗?能否知道一二啊。谢谢啦。
...全文
197 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppp80 2005-05-11
  • 打赏
  • 举报
回复
private void RadiusSelectionToolControl1_SelectionChanged(object sender, MapInfo.Engine.SelectionChangedEventArgs e)
{
//--------输出选择的图元信息-------------------------------
MapInfo.Engine.ISession session1 = MapInfo.Engine.Session.Current;


MapInfo.Data.Table tableUsa = session1.Catalog[_findLayerName];

// Get fc for selection on usa.
IResultSetFeatureCollection fc = session1.Selections.DefaultSelection[tableUsa];
int nCount=0;
if (fc != null)
{
nCount = fc.Count;
}

TextBox1.Text=nCount.ToString();
string aaa="";
foreach(Feature f in fc)//f为所有选中的图元
{
aaa+=f.Key.ToString()+",";

}
TextBox2.Text=aaa;
}
trustyourself 2005-05-08
  • 打赏
  • 举报
回复
mark
jhqjhq 2005-04-29
  • 打赏
  • 举报
回复
也可以试试这个。
如果数据在数据中的话,要先加载。
加一个datagrid控件。程序如下:

private void PointSelectionToolControl1_SelectionChanged(object sender, MapInfo.Engine.SelectionChangedEventArgs e)
{

//点选
IResultSetFeatureCollection iRsfCollection=null;
int j=0;
DataTable dt = new DataTable();
DataRow dr;
DataView dv;



if (e.Selected )
{
iRsfCollection=e.Features ;
foreach(MapInfo.Data.Column column in iRsfCollection.Columns)
{
DataColumn dataColumn=new DataColumn();
dataColumn.DataType =System.Type.GetType("System.String");
dataColumn.ColumnName =column.ToString() ;
dt.Columns.Add (dataColumn);
}
foreach (Feature feature in iRsfCollection)
{
j=0;
dr = dt.NewRow();
foreach(MapInfo.Data.Column column in feature.Columns )
{
dr[j] = feature[column.ToString()].ToString() ;
j++;
}

dt.Rows.Add(dr);
}

dv = new DataView(dt);
DataGrid1.DataSource =dv;
DataGrid1.DataBind();



}


jhqjhq 2005-04-29
  • 打赏
  • 举报
回复
//这是c/s的代码,选择图元的原理一样。
//从 mapinfo网站参考的
//
//
//

MapInfo.Data.MIConnection connection = new MapInfo.Data.MIConnection();
connection.Open();

MapInfo.Geometry.Point pt = new MapInfo.Geometry.Point(this.mapControl1.Map.GetDisplayCoordSys(), e.MapCoordinate.x, e.MapCoordinate.y);

//选择所有图层满足条件的图元
for(int i = 0; i < this.mapControl1.Map.Layers.Count; i++)
{
FeatureLayer fl = this.mapControl1.Map.Layers[i] as FeatureLayer;

if ((fl.VisibleRangeEnabled == true & fl.VisibleRange.Within(this.mapControl1.Map.Zoom)) || (fl.VisibleRangeEnabled == false))
{

MapInfo.Data.MICommand command = connection.CreateCommand();
//
command.CommandText = "Select * from " + fl.Table.Alias + " where @pt intersects Obj";
MapInfo.Data.GeometryColumn geoCol = fl.Table.TableInfo.Columns[0] as MapInfo.Data.GeometryColumn;
if(geoCol.PredominantGeometryType.ToString() == "MultiCurve" || geoCol.PredominantGeometryType.ToString() == "Curve")
{
command.Parameters.Add("@pt", pt.Buffer( this.mapControl1.Map.Zoom.Value / 500, MapInfo.Geometry.DistanceUnit.Mile, 99));
}
else if (geoCol.PredominantGeometryType.ToString() == "Point" || geoCol.PredominantGeometryType.ToString() == "MultiPoint")
{
command.Parameters.Add("@pt", pt.Buffer(this.mapControl1.Map.Zoom.Value / 200, MapInfo.Geometry.DistanceUnit.Mile, 99));
}
else
command.Parameters.Add("@pt", pt);
MapInfo.Data.IResultSetFeatureCollection irfc = command.ExecuteFeatureCollection();
foreach(MapInfo.Data.Feature f in irfc)
this.listBox1.Items.Add(f[1].ToString());
command.Dispose();
irfc.Close();
}
}
connection.Close();
newthunder 2005-04-28
  • 打赏
  • 举报
回复
up
newthunder 2005-04-27
  • 打赏
  • 举报
回复
现在下了个mapXtreme2004,根据它自带的实例改出一个地图。
我做的地图在客户端不需要进行编辑,只要能够缩放、移动、选择就可以了。
比如:在地图上显示了很多单位,我需要的是选择其中的一个单位,然后显示出该单位的基本信息,
或者跳转页面显示其信息。该如何处理?

现在我用SelectionControl能选择到最上图层的信息,可是如何才能取到这个point的信息呢?

To: jhqjhq(逗号)
请问如何判断选中的是哪个图元,如何取出属性呢?
tantj 2005-04-26
  • 打赏
  • 举报
回复
那如果要计算最短路程呢?
miranda2002 2005-04-23
  • 打赏
  • 举报
回复
MapX不能直接进行web开发,加mapxtreme
jhqjhq 2005-04-23
  • 打赏
  • 举报
回复
mapxtreme2004的web开发封装了很多功能,如放大,缩小,平移等,
一句话就可以搞定。呵呵。
选中显示属性数据的话,后台写一个事件,先传坐标给后台,然后
选中了什么图元,取出属性就可以了。

mapxtreme2004可以去www.mapinfo.com下。

2,154

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧