[导入]ArcGIS Server的最短路径开发系列(3)
2008-11-20 16:43
176 查看
本文版权归小能所有,转载麻烦标明出处,谢谢! 同时写作过程中也参阅了大量其他网络文档,如果您觉得侵犯版权,请和我联系:chinazhousheng@gmail.com
[/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;
}
当然,可以添加效果,比如点击起点后,在地图上画一个标志!下面是结果图
[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;
}
当然,可以添加效果,比如点击起点后,在地图上画一个标志!下面是结果图
相关文章推荐
- ArcGIS Server的最短路径开发系列(1)
- ArcGIS Server的最短路径开发系列(2)
- ArcGIS Server的最短路径开发系列(2)补充
- arcgis api for js入门开发系列十三地图最短路径分析
- arcgis api for js入门开发系列十三地图最短路径分析
- 【Cocoa(mac) Application 开发系列之四】动作编辑器(Cocos2dx)制作流程详解及附上响应鼠标滚轴事件、反转坐标系、导入/创建资源目录等知识点代码!
- ArcGIS Server 开发系列(四)--ArcGIS Server data sources 开发 (转载于Flyingis)
- Arcgis Server系列 ADF的开发与实例
- 【Python学习系列二十六】networkx库图最短路径求解
- ArcGIS Server 开发系列(二)--Web ADF 编程 (转载于Flyingis)
- Arcgis Server系列 ADF的开发与实例
- 【iOS开发-3】sandbox沙盒介绍以及如何取得沙盒里面各文件的路径,图片导入方式和图片路径获取
- 数学建模常用Matlab/Lingo/c代码总结系列——floyd最短路径
- ArcGIS Server 开发系列(四)--ArcGIS Server data sources 开发 (转载于Flyingis)
- ArcGIS Server 开发系列(一)--编程框架总览 (转载于Flyingis)
- ArcGIS Server 开发系列(三)--漫游 Graphics data sources (转载于Flyingis)
- Arcgis Server开发技巧系列 动态刷新经纬度坐标
- [导入]视频游戏开发系列课程(1):游戏开发过程预览
- [导入]视频游戏开发系列课程(5):Transformation and Collision of Sprites
- [导入]ASP.NET MVC框架开发系列课程(5):控制器(Controller)以及Action.zip(25.35 MB)