2016-09-16 59 views
0

TL; DR:如何在OL3中使用光柵源?如何使用它顯示任何東西? 一個簡單的工作例子將是完美的。如何使用柵格源類型?

==============================================

我試圖使用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網站上查看theexamples,他們沒有幫助。實際上,點擊它們上的Edit按鈕並被帶到JSFiddle時,它們似乎沒有渲染任何東西。也許這是JSFiddle的問題。所以我複製了假設的源代碼,並試圖在.html文件中運行它。 ol3地圖對象加載,但沒有別的,有趣的是足夠。

上下文方面,我會使用ol3中的Geolocation API來計算tile的高程顏色並在柵格圖層中渲染它們。

回答

2

函數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]; 
}, 
}); 
+0

你一定是在開玩笑吧...... -_- – Mox

+0

我還是不明白,爲什麼OL3例子不呈現任何東西雖然o.O – Mox