示例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> 标签参数说明如下:
第五步:点击”发布“按钮,即可查看添加”电子地图“组件后的门户首页效果
