TL;DR:如何在OL3中使用Raster源?如何使用它来显示任何东西?一个简单的工作例子将是完美的。
==============================================
我正在尝试使用ol.source.Raster来可视化海拔数据。
不过,我第一次尝试的是把整幅地图变成一定的颜色,如下所示:
var bing = new ol.source.BingMaps({key: '%key%', imagerySet: 'Aerial'});
var raster = new ol.source.Raster({
sources: [bing],
operation: function(pixels, data) {
return (0, 255, 0, 128);
},
});
map = new ol.Map({
layers: [
new ol.layer.Tile({source: bing}),
new ol.layer.Image({source: raster})
],
target: 'ol-map',
view: new ol.View({
center: ol.proj.transform([-1, 52], 'EPSG:4326', 'EPSG:3857'),
zoom: 6
})
});我以为整张地图都是绿色的。
然而,这没有任何作用。它显示的是必应层,而不是光栅层。或者,光栅层可能没有由代码组成,我不知道。
我试着在这个 示例的ol3网站上看过,但它们并没有帮助我。事实上,在单击编辑按钮并被带到JSFiddle上时,它们似乎没有呈现任何内容。也许这是JSFiddle的一个问题。因此,我复制了假定的源代码,并尝试在一个.html文件中运行它。ol3映射对象加载,但没有其他,有趣的是。
就上下文而言,我将使用ol3中的地理定位API来计算瓷砖的标高颜色,并在光栅层中呈现它们。
发布于 2016-09-19 06:57:38
函数operation中的值返回必须是数组(可以引用链接http://openlayers.org/en/latest/apidoc/ol.html#.RasterOperation)。你可以换个光栅
var raster = new ol.source.Raster({
sources: [bing],
operation: function(pixels, data) {
return [0, 255, 0, 128];
},
});https://stackoverflow.com/questions/39535908
复制相似问题