SuperMap iClient3D for WebGL教程(影像篇)-WebMapServiceImageryProvider

版权声明:本文为博主原创文章,欢迎转载,SuperMap技术问答社区 http://ask.supermap.com https://blog.csdn.net/supermapsupport/article/details/89472404

作者:刘大

本文同步更新于简书文章https://www.jianshu.com/p/8d18ba01a6f8

WebMapServiceImageryProvider是用来加载Web Map Service (WMS) 服务的,那我们就先来熟悉下WMS服务,WMS定义了 GetCapabilities,GetMap,GetFeatureInfo 三个操作,

1.GetCapabitities,返回服务级元数据的xml文档,里面记录有图层Layer,Bounds范围等信息;

2.GetMap,返回地理空间参数和大小已明确定义的地图图像;

3.GetFeatureInfo,返回显示在地图上的某些特殊要素(feature)的信息

每个操作的参数说明可在http://www.opengeospatial.org/standards/wms下载文档,或者查看SuperMap iServer帮助文档 http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/index.htm中的“API 参考 > OGC 服务 > WMS API”

接下来看看WebMapServiceImageryProvider的主要参数里面分别对应wms服务里面的什么参数吧

在这里插入图片描述

图1 wms能力文档部分截图

在这里插入图片描述

图2 WebMapServiceImageryProvider参数说明

1.layers:需要加载的图层,多个图层以逗号隔开即可,可以对应的能力文档的Layer的Name或Title,例如 layers: '0.0.1,0.5.10’或layers:‘BaseMap_R@Jingjin#1’;

2.parameters:在GetMap URL中传递给WMS服务器的其他参数,常见参数比如‘transparent’(地图背景透明),‘format’(返回的图片格式),默认为‘image/jpeg’,该格式下设置transparent无效;

3.getFeatureInfoParameters:在GetFeatureInfo URL中传递给WMS服务器的其他参数,这里可设置‘query_layers’( 查询图层列表)和‘info_format’(要素信息的返回格式)等,填写规则和layers一样,若不设置query_layers,则默认和layers的设置一样,同时,能力文档中queryable为1的图层可查询,为0不能查询;

4.enablePickFeatures:是否点击地图获取查询图层的要素,默认为true,设置为fales,不会进行GetFeatureInfo操作,即getFeatureInfoParameters参数不生效;

5.getFeatureInfoFormat:GetFeatureInfoFormat数组,简单说,就是根据GetFeatureInfo要素信息的返回格式触发相应的回调,不设置则触发默认的事件

在这里插入图片描述

图3 GetFeatureInfoFormat参数说明

6.rectangle:图像覆盖的范围。默认为全球范围,可根据添加的图层的BoundingBox进行设置

注意:若同时设置了getFeatureInfoParameters中的‘info_format’和getFeatureInfoFormat,则以info_format为准,若只设置getFeatureInfoFormat,则以该数组中的第一个GetFeatureInfoFormat为准,两者都不设置的话,默认为’application/json’

说了这么多,我们就来看看具体代码和效果吧

在这里插入图片描述

图4 主要代码

在这里插入图片描述

图5 效果

猜你喜欢

转载自blog.csdn.net/supermapsupport/article/details/89472404