彩票走势图

移动GIS控件Map Suite MVC使用教程:GIS示例之创建简单的世界地图

原创|使用教程|编辑:郝浩|2013-04-10 09:42:38.000|阅读 360 次

概述:在上一篇移动GIS控件Map Suite MVC使用教程中我们介绍了GIS示例"Hello World"中一些重要参数和数据,本文中慧都小编将为你介绍一个简单的世界地图创建方法。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

  在上一篇移动GIS控件Map Suite MVC使用教程中我们介绍了GIS示例"Hello World"中一些重要参数和数据,本文中慧都小编将为你介绍一个简单的世界地图创建方法。

如何使用Map Suite MVC创建一个简单的"Hello World"世界地图

  说明:Map Suite MVC Edition提供了两种方法,我们可以添加我们的代码定义ShapeFileFeatureLayer。一个是控制器的操作中,另一种是在视图页面中。这里,在我们的例子中将使用后者。前者的例子你可以参考安装文件中的示例应用。

  现在,让我们来看看实现这个概念所需的代码。在这个例子中,我们将使用一个Shapefile文件,它包含了整个世界的数据。有一个现成的Shapefile文件可供我们使用:

  • 世界上每个国家的边界(cntry02.shp)

  注意:在此示例中使用的数据存放在Map Suite MVC Edition安装文件夹的“Samples\CSharp HowDoISamples Razor\App_Data”中。下图显示了该文件夹的内容。

移动GIS控件Map Suite MVC使用教程:GIS示例"Hello World"之创建简单的世界地图

在此示例中使用的数据

  我们的下一步是为地图定义和添加Shapefile层。我们的所有示例代码被放置在视图页面“Index.cshtml”中。

    @{Html.ThinkGeo().Map("Map1", 600, 500)
          .MapBackground(new BackgroundLayer(new GeoSolidBrush(GeoColor.FromHtml("#E5E3DF"))))
          .CurrentExtent(-131.22, 55.05, -54.03, 16.91)
          .MapUnit(GeographyUnit.DecimalDegree)
          .StaticOverlay(overlay =>
          {
              // We create a new Layer and pass the path to a Shapefile into its constructor.
              ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"C:\Program Files (x86)\ThinkGeo\Map Suite Mvc Evaluation Edition 6.0\Samples\CSharp HowDoISamples Razor\App_Data\cntry02.shp");
                 // Set the worldLayer to use a preset Style. Since AreaStyles.Country1 has YellowGreen background and Black border, our worldLayer will have the same render style.
              worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1;
                 // This setting will apply from ZoomLevel01 to ZoomLevel20, which means we can see the world the same style all the time no matter how far we zoom in or out.
              worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
                 // We need to add the worldLayer to the map's Static Overlay.
              overlay.Layer(worldLayer);
          })
          .Render();
      }

  如果你编译并运行,你的地图看起来应该像下面的截图:

移动GIS控件Map Suite MVC使用教程:GIS示例"Hello World"之创建简单的世界地图

一个简单的世界地图

  我们已经创建了一个图层,并把它添加到地图,地图将根据它的默认样式参数渲染。此外,我们还使用ZoomLevel按照我们想要的方式显示地图。

  注意:这是很重要的一个Map对象MapUnit属性被设置为使用GeographyUnit枚举。这是因为Shapefiles只能存储二元矢量坐标,它可以显示为十进制度、英尺、米或其他单位,可以通过为地图Shapefiles指定计量单位来实现。这些信息一般存放在Shapefile的文档中,或者在Shapefile的补充数据文件中。


标签:GIS

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP