尝试访问栅格像素值时返回奇怪的错误
Strange error returned while trying to access raster pixel value
我正在尝试通过 OpenLayers getFeatureInfoUrl() 从 webapp 访问通过 MapServer 提供的像素值。服务器响应
msWMSFeatureInfo(): WMS 服务器错误。无效 I/J 值
我已经尝试用谷歌搜索它,但找不到任何关于我的请求可能有什么问题的线索,只有 I/J 值指的是鼠标点击的坐标,所以问题可能源于 evt.coordinate 来自:
var vs = this.wmsLayer
mapol.on('singleclick', function(evt) {
document.getElementById('info').innerHTML = '';
var viewResolution = /** @type {number} */ (view.getResolution());
var url = vs.getSource().getGetFeatureInfoUrl(
evt.coordinate, viewResolution, 'EPSG:4326',
{'INFO_FORMAT': 'text/html'});
if (url) {
document.getElementById('info').innerHTML =
'<iframe seamless src="' + url + '"></iframe>';
}
});
wmsLayer 使用与请求相同的 'EPSG:4326' 坐标系。
谁能帮我获取点击位置的像素值:)
您传递给 #getGetFeatureInfoUrl()
方法的坐标的 SRS 需要与您作为参数提供的投影相匹配。所以你必须将代码更改为
var url = vs.getSource().getGetFeatureInfoUrl(
ol.proj.toLonLat(evt.coordinate, view.getProjection()),
viewResolution, 'EPSG:4326', {'INFO_FORMAT': 'text/html'});
我正在尝试通过 OpenLayers getFeatureInfoUrl() 从 webapp 访问通过 MapServer 提供的像素值。服务器响应 msWMSFeatureInfo(): WMS 服务器错误。无效 I/J 值 我已经尝试用谷歌搜索它,但找不到任何关于我的请求可能有什么问题的线索,只有 I/J 值指的是鼠标点击的坐标,所以问题可能源于 evt.coordinate 来自:
var vs = this.wmsLayer
mapol.on('singleclick', function(evt) {
document.getElementById('info').innerHTML = '';
var viewResolution = /** @type {number} */ (view.getResolution());
var url = vs.getSource().getGetFeatureInfoUrl(
evt.coordinate, viewResolution, 'EPSG:4326',
{'INFO_FORMAT': 'text/html'});
if (url) {
document.getElementById('info').innerHTML =
'<iframe seamless src="' + url + '"></iframe>';
}
});
wmsLayer 使用与请求相同的 'EPSG:4326' 坐标系。 谁能帮我获取点击位置的像素值:)
您传递给 #getGetFeatureInfoUrl()
方法的坐标的 SRS 需要与您作为参数提供的投影相匹配。所以你必须将代码更改为
var url = vs.getSource().getGetFeatureInfoUrl(
ol.proj.toLonLat(evt.coordinate, view.getProjection()),
viewResolution, 'EPSG:4326', {'INFO_FORMAT': 'text/html'});