作者:yx
文章目录
前言
SuperMap iPortal 提供了一种密钥,简称:Key,它是在线开发中使用的应用密钥,是服务的口令标识。接下来就来介绍介绍在iClient中如何访问受保护的服务
一、iPortal中获得密钥
iPortal 的普通用户和管理员都可以添加密钥。
在门户首页,点击“登录”按钮,登录成功后,进入“我的账户”->“我的密钥”,选择“添加密钥”(首次添加密钥时,页面显示的是“获取key”,点击即可),进入添加密钥页面,输入相关参数并选择密钥允许访问的服务,点击“确定”按钮即可添加一个密钥
二、iClient调用
- leaflet
<script type="text/javascript">
var key = "UtqYAcPWGl4Wqm3ADkiA0d0P";
var mapUrl = "http://localhost:8195/portalproxy/iserver/services/map-Population/rest/maps/PopulationDistribution";
//调用权限相关接口
SuperMap.SecurityManager.registerKey(mapUrl,key);
//设置地图参数
var map = L.map('map',
{
center: [11523496.18 , 3735091.51],
maxZoom: 18,
zoom: 1,
});
//加载地图
L.supermap.tiledMapLayer(mapUrl,
{
serverType: SuperMap.ServerType.IPORTAL}).addTo(map);
</script>
2. classic
<script type="text/javascript">
SuperMap.Credential.CREDENTIAL=new SuperMap.Credential("UtqYAcPWGl4Wqm3ADkiA0d0P","key");
var map, layer,
host = window.isLocal ? window.server : "https://iserver.supermap.io";
url = "http://localhost:8195/portalproxy/iserver/services/map-Population/rest/maps/PopulationDistribution";
//初始化地图
map = new SuperMap.Map("map", {
controls: [
new SuperMap.Control.Navigation(),
new SuperMap.Control.Zoom()
]
});
map.addControl(new SuperMap.Control.MousePosition());
//初始化图层
layer = new SuperMap.Layer.TiledDynamicRESTLayer("China", url, null, {
maxResolution: "auto"});
//监听图层信息加载完成事件
layer.events.on({
"layerInitialized": addLayer});
function addLayer() {
map.addLayer(layer);
//显示地图范围
map.setCenter(new SuperMap.LonLat(11523496.18 , 3735091.51), 1);
}
</script>