示例2:自定义添加“电子地图”组件 |
如果 iPortal 的默认首页内容不能满足您的业务需求,那么您可以通过 iPortal 的可视化布局系统添加自定义的 UI 组件,进行简单的深度定制。自定义 UI 组件有两种编辑模式,这里我们为您介绍一个使用源代码编辑模式的示例—自定义添加“电子地图”组件,即:您可以在门户首页浏览超图云地图,进行放大、缩小等操作。
针对实现源码较为复杂的情况,建议您将该组件的 UI 写成标准的 HTML 页面,再在自定义组件代码编辑器中通过 iFrame 标签引入,支持直接引入该页面,也支持引入发布后的组件服务。本示例具体步骤如下:
第一步:本示例中,使用的是通过 SuperMap iClient 8C(2017) for JavaScript 编写的“电子地图”组件,编写步骤请参见:使用 iClient for JavaScript 入门,新建的“index.html“的 HTML 页面内容如下:
<!DOCTYPE HTML> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>SuperMap iClient JavaScript:TiledDynamicRESTLayer</title> <!--引用需要的脚本--> <script src="./libs/SuperMap.Include.js"></script> <script type="text/javascript"> var map, layer; function init(){ map = new SuperMap.Map("map", { controls:[ new SuperMap.Control.ScaleLine(), new SuperMap.Control.LayerSwitcher(), new SuperMap.Control.Zoom(), new SuperMap.Control.Navigation({ dragPanOptions:{ enableKinetic:true } })] }); layer = new SuperMap.Layer.CloudLayer(); map.addLayers([layer]); map.setCenter(new SuperMap.LonLat(11339634.286396, 4588716.5813769), 4); } </script> </head> <body onload="init()" style="margin:0;"> <!--地图显示的div--> <b style="font-size: 20px;font-color: #242424;font-weight: 700;font-family:'Microsoft Yahei',sans-serif;margin-bottom: 21px;margin-top: 7px;display: block;">电子地图</b> <div id="map" style="position:absolute;left:10px;right:10px;width:100%;height:80%;border:2px;" > </div> </body> </html>
第二步:将第一步中创建的 index.html 文件以及 SuperMap iClient 8C(2017) for JavaScript 中的库文件:libs 和 theme 文件夹一起放到名为 map 的文件夹中,然后将 map 文件夹放到【SuperMap iPortal 安装目录】\webapps 目录下,打开浏览器即可访问该电子地图服务:http://192.168.13.217:8090/map/index.html
第三步:进入可视化布局系统,进行 UI 组件的布局。本示例中,为了布局美观,将”最新服务组件”与新添加的”自定义组件“放在同一行。在“布局组件”选项中,选择自定义布局组件,在”自定义“输入框中输入(5 1 5 1),数字之间有空格(当所有数字之和为 12 时,该组件方可使用)。输入完成后,在输入框右侧会出现”拖动“按钮,鼠标左键点击”拖动“按钮,按住不放,将自定义的布局组件拖动到右侧的布局容器中。
第四步:页面布局好后,接下来需要将
UI 组件中的”最新服务组件“拖动到了布局组件的第一列,然后将 UI 组件中的”自定义组件“拖动到布局组件的第三列中(其中,第二列和第四列作为留白,您也可以根据自身需求来调整布局),点击自定义组件的”编辑“按钮,在自定义组件代码编辑器中,选择“源代码”编辑按钮,在代码输入框中输入以下代码:
<iframe src="http://192.168.13.217:8090/map/index.html" scrolling="no" frameborder="0" height="313px" width="100%"> </iframe>
其中,<iframe> 标签参数说明如下:
第五步:点击”发布“按钮,即可查看添加”电子地图“组件后的门户首页效果