by 李远祥
webAppbuilder是arcgis portal 和arcgis.com 上用来配置应用程序的利器。合理利用webAppbuilder的微件功能,可以实现应用程序的零代码定制,并能有效的解决相关的实际的应用问题。
1. 启动webAppbuilder。webAppbuilder需要arcgis portal 或者arcgis.com 来支撑的,不能直接连接arcgis server,因此,不能作为单纯用arcgis server来配置应用程序,这一点跟以前的flexViewer不一样。webAppbuilder 分为内置版本和开发版本,内置版本是直接嵌在arcgis portal或者arcgis.com中,必须先登录到上述两个平台中才可以使用。开发版本可以在arcgis的开发者网站中下载,单独在本地运行,但使用时必须通过应用程序ID进行连接。以下界面是在arcgis portal或arcgis.com 下直接运行webAppbuilder,如下图
在输入必要的标题、标签、摘要之后,运行的界面如下,可以选择应用的主题(界面的布局和样式等)、地图(加载哪些webMap)、微件(功能组件)、属性(应用的一些附加说明)
2. 微件的分类。由于主要介绍的是微件的使用,这里对于其他的主题和地图的一些基本操作忽略。在选取了主题和地图之后,进入微件选择界面,如下图
微件一般视主题而定,一般在配置的应用程序中分为两种微件,一种是浮动微件,一种是面板微件。浮动微件是直接浮动在地图控件上,一般表现为如缩放控件、定位按钮及检索控件等,不需要调出具体的面板就能执行操作。面板微件顾名思义是一个可以调出面板界面的微件,表现为具体的一个按钮,点击后弹出操作和结果的界面,一般表现为地图控件上的按钮和工具栏上的按钮。
3. 微件的功能。定制应用基本上可以理解为使用微件,因为应用程序的界面布局等是固定的几套模板,当然,如果是高级的开发人员,还可以根据webAppbuilder的规范去定制这些模板,这里不详述。因此,使用微件就成了应用程序配置的关键。我们可以点开微件控制器,看看里面的微件分类,大致如下,根据arcgis portal或者arcgis.com的版本,会有不一样的微件,一般情况下版本越高的微件会越多,下图是arcgis portal 10.4的微件。
4. 使用微件。 可以在三个方面使用微件,最底部的带有数字标号的按钮,其对应的是地图控件浮动的按钮,点击后会跳转到微件选择界面中,选择好微件后,会有按钮图标与之对照;中间部分就是所谓的浮动微件部分,对应的是一些非弹出页面的控件,如比例尺样式、缩放滑块、全图操作等;最顶部是页眉控制器,通俗点说就是导航栏上的按钮,在此配置的微件会在导航菜单上生成对应的按钮图标,点击后弹出该微件的功能。各种微件的对应位置如下图所示。
每一个微件都有自己独特的作用,因此配置也不一样,我们先来看浮动微件的一些功能。例如比例尺微件,点击其编辑按钮(鼠标滑动到此微件的图标,会显示一个小笔的小图标,点击这个小图标就可以进入其配置界面)之后会弹出比例尺的一些设置,如比例尺的单位和样式。由于比例尺不需要点击进行操作,它是跟地图的缩放关联的,因此,该微件的图标不可更改。
同样是浮动微件,再看搜索微件,点开后可以看到其默认的配置就是使用esri的地理编码服务去执行搜索,如下图所示
如果我们有其他的地理编码服务或者有自己的需要检索的服务图层,如mapservice、featureservice,都可以在这里配置,实现搜索功能。以下操作将一个要素服务的一个图层添加到搜索微件中实现全局的检索。点击添加搜索源,添加一个要素图层
添加的要素服务可以是从已经配置的加载好的webMap中选择,或者直接从portal托管的服务中选择,又或者直接输入一个要素服务的地址,如下图,这里采用的是portal托管的要素服务,可以直接检索到该portal账号下所有服务
点击下一步之后,微件会检索到该要素服务下的所有图层,如下图,该要素服务下只有一个zhandian的图层,选择它,执行下一步的配置。
选择完数据源之后,就可以设置该微件的具体参数,例如检索的内容(字段),标题的别名等,最大结果数,完全匹配或者模糊搜索等,如下图
保存之后可以通过【启动】按钮来查看具体的配置情况,如下图
如果希望应用程序可以直接移动端的网页访问,可以使用【预览】方式去查看其具体的内容,设置所支持的移动设备的分辨率,如下图
这样,一个简单的功能就可以完成了。可以为应用程序配置更多的微件,以适应不同的使用场景。