创建wms网址后,我将访问geoserver。然后,我使用getFeatureInfo来获取信息。
如何设置参数以获得多层信息?
什么是宽度,高度,x,y,bbox?
var bboxControl = 0.0001;
var bbox = (coordinate[0]-bboxControl) + ',' +
(coordinate[1]-bboxControl) + ',' +
(coordinate[0]+bboxControl) + ',' +
(coordinate[1]+bboxControl);
var projection = map.getView().getProjection().getCode();
const parameter = "?SERVICE=WMS
&VERSION=1.1.1
&REQUEST=GetFeatureInfo
&FORMAT=image/png
&TRANSPARENT=true"
+ "&QUERY_LAYERS=" + layers
+ "&LAYERS=" + layers
+ "&exceptions=application/vnd.ogc.se_inimage
&INFO_FORMAT=application/json
&FEATURE_COUNT=50
&X=50&Y=50"
+ "&SRS=" + projection
+ "&STYLE=&WIDTH=101&HEIGHT=101"
+ "&BBOX=" + bbox;
$(document).ready(function(){
$.ajax({
url: getFeatureInfoUrl + parameter,
dataType : 'json',
success: function(result){
success(result);
}
});
});
这有效,但不取决于缩放状态。
最佳答案
如果需要更多层,则在代码中的某个地方,您有一个名为layers
的列表/数组。在其中添加所需的每一层。
对于第二个问题,请检查here是否有GeoServer请求。
但简而言之:
BBox表示边界框。它定义了GeoServer发送数据的区域。
宽度和高度定义从GeoServer返回的地图大小。