- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开源SharpMap实例讲解(二) 地图渲染分析 地图渲染分析 运行过程 初始化地图 绘制并生成地图 渲染地图的相关函数 如何修改代码,替换地图数据 地图的放大、缩小、漫游 1 运行过程 1.1 初始化地图 MapHelper.InitializeMap函数 1.2 绘制并生成地图 GenerateMap(); 1 运行过程 首先打开Simple.aspx,可知此页面有一组单选框和一个图像按钮,用于显示地图。它的代码在Simple.aspx.cs中。 打开Simple.aspx.cs,在Page_Load函数中是页面初始化代码。可知地图生成分两步: 1.1 初始化地图 myMap = MapHelper.InitializeMap(new System.Drawing.Size((int)imgMap.Width.Value,(int)imgMap.Height.Value)); 我们找到MapHelper.InitializeMap函数,查看代码,地图的初始化分为四个步骤 (1)创建地图,创建图层 (2)基本的图层显示设置 (3)加入图层到地图 (4)地图放缩比例、背景颜色、中心点设置 1 运行过程 MapHelper.InitializeMap函数 (1)创建地图,创建图层 SharpMap.Map map = new SharpMap.Map(size); //创建图层 SharpMap.Layers.VectorLayer layCountries = new SharpMap.Layers.VectorLayer(Countries); layCountries.DataSource = new SharpMap.Data.Providers.ShapeFile(HttpContext.Current.Server.MapPath(@~/App_data/countries.shp), true); ……………… 1 运行过程 (2)基本的图层显示设置 //Set fill-style to green layCountries.Style.Fill = new SolidBrush(Color.Green); //Set the polygons to have a black outline layCountries.Style.Outline = System.Drawing.Pens.Black; layCountries.Style.EnableOutline = true; layCountries.SRID = 4326; (3)加入图层到地图 map.Layers.Add(layCountries); map.Layers.Add(layRivers); map.Layers.Add(layLabel); map.Layers.Add(layCityLabel); 1 运行过程 (4)地图放缩、背景、中心等设置 //limit the zoom to 360 degrees width map.MaximumZoom = 360; map.BackColor = Color.LightBlue; map.Zoom = 360; map.Center = new SharpMap.Geometries.Point(0,0); //详情代码见MapHelper.cs的InitializeMap函数 见PPT最后页面 注意: MapHelper.cs的InitializeMap函数是需要重点掌握并能独自修改的一个函数 需掌握 (1)创建地图 (2)创建矢量图层 和 注记图层 (3)设置矢量图层(点、线、面)的显示样式,注记图层的显示样式 (4)加入图层到地图 (5)地图放缩比例、背景颜色、中心点设置 1 运行过程-绘制并生成地图 1.2 绘制并生成地图 Simple.aspx.cs的Page_Load函数,发现下一步调用GenerateMap(); GenerateMap(); 在同一文件中,GenerateMap()包含以下两步: //(1)保存当前地图状态 ViewState.Add(mapCenter, myMap.Center); ViewState.Add(mapZoom, myMap.Zoom); //(2)渲染地图, myMap中获取的地图显示到Image控件上 //Render map System.Drawing.Image img = myMap.GetMap(); string imgID = SharpMap.Web.Caching.InsertIntoCac
您可能关注的文档
最近下载
- SH_T 3046-2024《石油化工立式圆筒形钢制焊接储罐设计规范》.pdf
- 智慧楼宇BIM云服务平台建设及智慧楼宇智能化建设方案(AI人工智能、物联网、大数据、云计算、互联网)共180页.pptx VIP
- 四(下)语文园地必背重点.pdf
- 中国的入世承诺.pdf VIP
- 2025年广东省深圳市中考英语模拟练习卷(含解析).pdf VIP
- Excel财务数据分析与可视化 习题及答案.pdf VIP
- 入团志愿书空表模板(可打印用) .pdf VIP
- 药店动态质量管理知识(一)答案-2025年执业药师继续教育.docx VIP
- 建筑工程图集 07SJ504-1 隔断、隔断墙(一).pdf VIP
- 乐迪 Pixhawk飞控多轴使用说明书 V1.4.2.pdf
文档评论(0)