Openlayers WMS-GetFeatureInfoUrl不是函数
我有一个wms图层,它在地图上显示得很好,但是当我试图在单击图层时从该图层获取对象时,我得到一个错误GetFeatureInfoUrl不是一个函数Openlayers WMS-GetFeatureInfoUrl不是函数,openlayers,wms,getfeatureinfo,Openlayers,Wms,Getfeatureinfo,我有一个wms图层,它在地图上显示得很好,但是当我试图在单击图层时从该图层获取对象时,我得到一个错误GetFeatureInfoUrl不是一个函数 var wmsSource = new TileWMS({ url: 'http://1.1.1.1:8080/geoserver/wms', params: {'LAYERS': 'workspace:feature', 'TILED': true}, serverType: 'geoserver',
var wmsSource = new TileWMS({
url: 'http://1.1.1.1:8080/geoserver/wms',
params: {'LAYERS': 'workspace:feature', 'TILED': true},
serverType: 'geoserver',
transition: 0,
});
var wmsLayer = new TileLayer({
source: wmsSource
})
var view = new View({
center: [0, 0],
zoom: 1,
});
if (checked) {
map.addLayer(wmsLayer);
}
else {
map.removeLayer(wmsLayer)
}
map.on('singleclick', function (evt) {
var viewResolution = /** @type {number} */ (view.getResolution());
var feature = wmsSource.getGetFeatureInfoUrl(
evt['coordinate'],
viewResolution,
'EPSG:3857',
{'INFO_FORMAT': 'text/html'}
);
if (feature) {
fetch(feature)
.then(function (response) { return response.text(); })
.then(function (info) {
console.log(info);
});
}
我可以用它做什么?解决方案是从以下层获取源代码:
map.on('singleclick', function (evt) {
var viewResolution = /** @type {number} */ (view.getResolution());
var feature = wmsLayer.getSource().getFeatureInfoUrl(
evt['coordinate'],
viewResolution,
'EPSG:3857',
{'INFO_FORMAT': 'text/html'}
);
if (feature) {
fetch(feature)
.then(function (response) { return response.text(); })
.then(function (info) {
console.log(info);
});
}
如果使用OpenLayers 6,函数名为getFeatureInfoUrl我不知道为什么OpenLayers建议我只使用getFeatureInfoUrl,getFeatureInfoUrl不可用。OpenLayers 6.4.3请参阅升级说明“将getFeatureInfoUrl重命名为getFeatureInfoUrl”