- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这真的是我在 openlayers 中见过的奇怪行为。
我创建了一个 jsfiddle来证明这个问题。
奇怪的行为是:只要我将参数 crossOrigin
添加到我的层,层就消失了,你可以在 jsfiddle 中尝试(你需要再次启用 crossOrigin
参数)。或者在下面查看:
var map = new ol.Map({
target: 'map',
layers: [
],
view: new ol.View({
projection: 'EPSG:4326',
maxZoom: 25,
center: [8.86, 54.13],
zoom: 10,
})
});
var wmsSource = new ol.source.TileWMS({
preload: Infinity,
url: 'http://service.gdi-sh.de/WMS_SH_BDDcol_KF?',
params: {
'LAYERS': 'DTK5col,DTK25col,DTK50col,DTK100col,UEK250,UEK600,UEK1500',
'TILED': true,
'STYLES': new String(''),
'FORMAT': 'image/jpeg',
'SRS': 'EPSG:4326',
'VERSION': '1.1.1'
},
serverType: 'geoserver',
//crossOrigin: 'anonymous' //<-- as soon as I enable this line, the layer dissappers
});
var wmsLayer = new ol.layer.Tile({
source: wmsSource
})
map.addLayer(wmsLayer);
我需要 crossOrigin
参数来避免 forEachLayerAtPixel()
的另一个问题:
解决方案是简单地将 crossOrigin
参数添加到我的所有层,这对我拥有的所有其他层都有效,但仅对于这一层,它使得图层消失。
更有趣:如果我在 firefox 上打开 debbug 并看到对服务器发出的请求。它的状态为 200,所有 img 都已成功加载(您甚至可以在网络分析中看到 img)
所以我想知道,如果图层可以加载并且图片在那里,是什么让图层消失了?一旦我取消了带有 crossOrigin
的行,一切正常。
最佳答案
当 WMS 服务器未启用 CORS,或者您尝试从 https 应用程序访问 http 服务器 url 时,就会发生这种情况。您仍然可以在没有 crossOrigin 参数的情况下加载它,但图像会被污染。首先尝试将 WMS url 从 http 更改为 https,但如果这不起作用,您将需要使用同源(或启用 CORS)代理。为确保正确传递 WMS 参数,您需要在加载时对图 block url 进行 URI 编码,例如:
var wmsSource = new ol.source.TileWMS({
preload: Infinity,
url: 'http://service.gdi-sh.de/WMS_SH_BDDcol_KF?',
params: {
'LAYERS': 'DTK5col,DTK25col,DTK50col,DTK100col,UEK250,UEK600,UEK1500',
'TILED': true,
'STYLES': new String(''),
'FORMAT': 'image/jpeg',
'SRS': 'EPSG:4326',
'VERSION': '1.1.1'
},
serverType: 'geoserver',
crossOrigin: 'anonymous',
tileLoadFunction: function(imageTile, src) {
imageTile.getImage().src = 'myproxy.php?url=' + encodeURIComponent(src);
}
});
我现在已经检查了您正在使用的 WMS 服务 - 它未在 http 或 https 中启用 CORS,因此您肯定需要使用代理。
关于javascript - openlayers crossOrigin参数使图层消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51945157/
我使用 vanilla JS 通过 AJAX 向数据库发送请求。数据写入数据库没有问题。在刷新页面之前,我看不到被放入数据库中的内容。当我删除内容时也会发生同样的情况,我必须刷新才能看到内容消失了。
抱歉,这篇文章很长,我试图提供所有信息并解释我已经尝试过的内容。 问题: 我将经典的 Phoenix View 放入实时 View 中。虽然一切看起来都很好,但 echart 一完成绘制就消失了。好像
搜索了一下,没有找到我要找的东西。我有两个按钮,单击一次即可拉出两个不同的选择框,第二次单击它们就会消失。但是,我希望选择框 1 在单击按钮 2 时消失,反之亦然:选择框 2 将在单击按钮 1 时消失
我正在尝试使用自动布局使用“浮动”标题构建滚动视图。更确切地说,我正在尝试建立包含几列的日历视图。这些列中的每个列都应具有自己的标题,该标题应浮动在顶部,而该列可以垂直滚动到其下方。 如果一切正常,则
我正在尝试模仿星星背景。 星星是在加载时创建并随机散布在整个网站上的。到目前为止我已经调整了一些代码。 var star="•"; var numStars=100; for(var x=1;x•";
我查遍了整个网络,但找不到解决方案。我对 jQuery 也很陌生。 我的案例: 我有一个导航栏,其中的每个链接都会激活/触发一个megamenu(每个链接都有自己的megamenu)。 我需要什么:
我有一个可扩展的 ListView ,当我点击一行时,它会触发 onChildClick 或 onGroupClick,具体取决于我点击的是子项还是组。 如果我在 xml 布局文件中添加可点击的内容(
在我的程序中,我有一个 NSMutableData 变量,用于收集来自 http://www.nhara.org/scored_races-2013.htm 的信息。 .大约第三次从网站获取信息后,当
我一直在完美地使用 Genymotion,但是从最近几天开始我的 Genymotion 并打开它的 GPS 开始,我的 Genymotion 突然消失了。但是我的 eclipse 显示 Genymot
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
所以我的 Item::return_all() 有问题,因为我在 main.cpp 中调用它。早些时候我在 read_file() 和 for (auto data : example_item) 中
所有 UITableCells 在 UITableView 中滚动和触摸时消失。一切都以编程方式完成,我使用标准的 UITableViewCell 类。 我在某处读到包含我的单元格数据的数组可能被清空
我对 Swift 还很陌生。我的问题是我的 UICollectionView 正在消失。在 Xcode 中,它显示一切就绪,但当我在模拟器或设备上启动时,它消失了,只剩下导航栏和标签栏。 有谁知道是什
这是 this one的续题。较早的问题是在复选框上。但是后来我根据要求把check box改成了radio buttons。 现在我需要显示子单选按钮并在母单选按钮处于事件状态时更改背景颜色。一旦它
我用 JS 写了一个简单的脚本。当我将它放入 html 文档(在 body 标签的底部)时,它工作正常。当我尝试将它放入外部文档并链接它时,脚本运行但 canvas 元素消失(刚刚检查:当我将脚本放在
我正在尝试创建一个带有固定元素的滚动页面,当用户向下滚动页面时,该元素“始终”可见。例如,带有道路背景的汽车图像。因此,当用户向下滚动页面时,汽车看起来就像在路上行驶。虽然汽车出现在道路的顶部,但它必
这个问题在这里已经有了答案: How can I change CSS display none or block property using jQuery? (15 个答案) 关闭 4 年前。
我在市场上有一个支持小部件的应用程序。我对应用程序进行了一些重大更改,重新设计了很多内部结构,替换/重命名 Activity 等。其他更改包括从不同的共享首选项键获取小部件配置数据,尽管我已经编写了转
我有一个 fragment alertsfragment.java,它有一个 GridView 布局,当我打开它时,它工作正常,但是当我在其他选项卡之间滑动时,它就消失了。为了解释更多,我有一个 Ac
我是一名优秀的程序员,十分优秀!