您的位置:首页 > 其它

[导入]ArcGIS Server的最短路径开发系列(3)

2008-11-20 16:43 176 查看
本文版权归小能所有,转载麻烦标明出处,谢谢! 同时写作过程中也参阅了大量其他网络文档,如果您觉得侵犯版权,请和我联系:chinazhousheng@gmail.com


[b][b]网络分析之最短路径查询系列:

ArcGIS Server的最短路径开发系列(1)

ArcGIS Server的最短路径开发系列(2)

ArcGIS Server的最短路径开发系列(2)补充


ArcGIS Server的最短路径开发系列(3)

[/b]
[/b]
前几天在群里面有朋友问我最短路径的事,他想实现一个可能分别在地图上取点设置起点与终点的功能,再计算最短路径的功能。由于最近很多事情,所以一直没有做,昨天花了一点时间,做了一下,其实还是一个状态保存的问题,其思路如下:

step1 :点击地图上的起点,获取起点的坐标,将其转换并保存至session 中

step2:获取终点坐标,判断session中是否有值,如果有,则获取起点

step3:计算最短路径(这在前面已经说过,稍微改变一下),显示在地图上

step4:清除session

大体思路就是这样,当然还有其他的思路,希望大家实现后共享,这次的代码很简单,我简单的发一点!

//获取屏幕点,并转换成Map点

ESRI.ArcGIS.ADF.Web.Geometry.Point pnt = new ESRI.ArcGIS.ADF.Web.Geometry.Point();

ESRI.ArcGIS.ADF.Web.UI.WebControls.PointEventArgs ptargs = null;

ptargs = (PointEventArgs)args;

pnt = ESRI.ArcGIS.ADF.Web.Geometry.Point.ToMapPoint(ptargs.ScreenPoint.X, ptargs.ScreenPoint.Y, mapctrl.Extent, (int)mapctrl.Width.Value, (int)mapctrl.Height.Value);

if (System.Web.HttpContext.Current.Session["beg_point"]==null)

else

private PropertySetProperty CreatePropertySetProperty(string key, object value)

private PropertySet GeocodeAddress(double streetAddress_x, double streetAddress_y)

{

//寻找地理位置

PointN addr_point = new PointN() ;

addr_point.X = streetAddress_x;

addr_point.Y = streetAddress_y;

//新建propertyset及PropertySetProperty数组

PropertySet propSet = new PropertySet();

PropertySetProperty[] propSetProperty_new = new PropertySetProperty[2];

propSet.PropertyArray = propSetProperty_new;

//设置propSet结构

propSet.PropertyArray[0] = CreatePropertySetProperty("Shape", addr_point) as PropertySetProperty;

propSet.PropertyArray[1] = CreatePropertySetProperty("Name", "44") as PropertySetProperty;

return propSet;

}
当然,可以添加效果,比如点击起点后,在地图上画一个标志!下面是结果图



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐