在 Web 应用程序中共享地图
最引人注目的 Web 地图可以生动地展现地理空间中的趋势和模式。这样的地图能够展示人们在哪里购买住房、哪里的海面温度在发生变化或者在夏季大象迁徙到了哪里。这些地图所共享的是信息,而不仅仅是数据。
如果您只是在以前使用过 ArcGIS Desktop,您可能想知道进行哪些操作才能将数据转化为一张引人入胜的能够真正展现内在信息的地图。有以下几个步骤:
- 设计并共享地图服务。
- 创建一张 Web 地图。
- 创建一个 Web 应用程序。
以下是对上述步骤的概述,其中包含了一些指向更详细的帮助内容的链接。
1. 设计并共享地图服务
ArcGIS Server 地图服务会获取您在 ArcMap 中创建的地图,并将其提供给 Web 用户。各种网络站点可通过引用您的服务器 URL 或 Web 地址来使用您的地图服务。在您将信息共享到 Web 上之前,需要对地图进行设计以方便作为服务进行引用。
首先要在 ArcMap 中开始您的设计过程,设计中需要使用一些您已经非常熟悉的制图工具。设计地图服务时,您要考虑到这些地图服务可能会叠加到具有不同颜色、图案或者数据分辨率的其他地图服务上。此外,还要考虑到可以在某些比例下对地图服务进行缓存或预绘制,从而获得更快的性能。这种情况下,可考虑将您的制图设计重点放在这些特定比例上。
地图准备完毕后,当您要开始共享时,请不要离开 ArcMap,执行以下操作即可:
- 单击主菜单上的文件 > 共享为 > 服务。
- 根据 ArcMap 中所提供的一个地图服务共享的简单向导完成一系列步骤以创建您的草稿服务。您需要为服务提供一个名称,还要提供一个用于发布服务的服务器的连接信息。
- 分析按钮用于检查地图是否存在性能瓶颈;预览按钮用于查看地图转化为服务后的显示情况;在最终准备好将地图服务提供给他人使用时,可单击发布按钮。
有关详细步骤的说明,请参阅发布地图服务。
2. 创建 Web 地图
创建 Web 地图时,您应该叠加最能生动展现内在信息的地图服务。通常,Web 地图会将包含特定业务数据(如可用的用材林)的地图服务显示在包含背景参考信息的地图服务(如影像或地貌晕渲图)之上。有时,会将包含边界或标注的参考地图服务放置在所有内容的最上方,就像一个“地图三明治”。两个引用图层中间夹着一层“肉”,即业务数据。
ArcGIS.com 是练习构建 Web 地图的好地方。
- 打开 Web 浏览器访问 arcgis.com。
- 单击登录,然后使用您的 ArcGIS Online 用户名和密码进行登录。这样可确保您能够保存和返回到您所创建的地图。
- 单击地图。您会看到已经为您添加了一个底图服务。此服务由 Esri 提供。
- 单击添加在底图上添加地图服务。您可以搜索可用的公共服务(如 Esri 提供的服务),或者如果您自己的 ArcGIS Server 站点是面向公众的,您也可以输入此站点的 URL。
- 平移并缩放至感兴趣区。
- 单击保存,保存您的地图。您的地图信息存储在 Esri 的 ArcGIS Online 云中,您随时可以使用您的 ArcGIS Online 帐户返回此信息。
如果您的地图中包含启用了编辑功能的服务,您就可以在此处打印地图、浏览地图,甚至还可以编辑该地图中的要素。有关如何创建和使用地图的方法,请参阅 ArcGIS.com 帮助中的使用地图。或者继续阅读以下内容,以了解如何将地图放入 Web 应用程序中。
3. 创建 Web 应用程序
您可以在 ArcGIS.com 共享您的 Web 地图以供他人查看,但是您也许还想创建一个拥有您自己喜欢的外观和功能的 Web 应用程序,并将其部署到您所在组织的 Web 服务器上。Esri 在 ArcGIS.com 上提供了一些模板应用程序,利用这些模板您可以很容易地开始创建 Web 应用程序。
您在 ArcGIS.com 上保存的每一张地图都有一个 ID 代码。要获取 Web 应用程序中的地图,您只需复制这个 ID 并将其粘贴到模板代码中的合适位置。然后,可以根据需要对应用程序的外观和标题进行自定义。
- 地图在 ArcGIS.com 中打开的状态下,单击共享。
- 单击创建 Web 应用程序。
- 选择一个模板,然后单击下载将其保存到磁盘。
- 从出现的消息中复制地图 ID,然后将其粘贴到安全的位置,如记事本文件。
- 解压模板文件并在文本编辑器中打开 index.html。
- 将地图 ID 粘贴到合适的位置。然后,对模板进行自定义,如添加标题等等。
下面是一个将地图 ID 粘贴到模板代码中的示例。模板可能有多种形式,因此请查看代码注释(标有 //)来找到放置 ID 的位置。
//The ID for the map from ArcGIS.com webmap = "e88fc77e54a844739a7a1c5affdc6c87"; //Enter a title, if no title is specified, the webmap's title is used. title = "Retail Spending Potential"; //Enter a subtitle, if not specified the ArcGIS.com web map's summary is used subtitle ="Downtown Seattle and vicinity";
- 将修改后的模板文件复制到 Web 服务器上一个可用的公共目录中。向您的 Web 服务管理员咨询,以了解模板文件放置位置的原则以及模板文件的提供方式。
您可以使用 ArcGIS API for JavaScript 对 Web 应用程序进一步进行自定义。此 API 包含许多可以在 Web 应用程序中使用的“微件”,已对其进行了预编码。这些微件包括底图选取器(与 ArcGIS.com map viewer 中的类似)和用于显示时间变化的时间滑块。如果不知道如何着手,您可以查看 API 在线帮助,其中包含了很多可以在您的 Web 应用程序中进行应用的代码示例。
如果您对编程不感兴趣,而 ArcGIS.com 模板又不能满足您的需要,可以考虑使用 ArcGIS Viewer for Flex 或 ArcGIS Viewer for Silverlight 来构建 Web 应用程序。利用这些工具,设计 Web 制图应用程序的过程中无需进行编程。当系统要求您选择要在应用程序中使用的地图时,您可以参考在 ArcGIS.com 中刚创建的地图。可以将地理处理、编辑和其他微件添加到应用程序,并自定义其标题和布局。