我需要向我的openlayers地圖添加一些版權信息文本。該網站提供了一個按照類似於http://openlayers.org/en/latest/examples/export-map.html所示的方式將地圖導出到PNG的按鈕。因此,導出的PNG地圖上的版權文本也必須處於打開狀態。因爲「Exported the map to PNG」東西適用於只輸出畫布中的內容(無html控件,或者,無法使用HTML控件),因此,我不能使用HTML疊加版本文本,但必須將文本直接打印到畫布上HTML覆蓋)。將版權信息文本直接打印到OpenLayers畫布中
我試過兩種方法。這兩個不工作;)
使用ol.source.ImageCanvas在這個jsfiddle所示。問題是當放大或縮小時,文本是跳。但文字應該是靜態的。
通過獲得的OpenLayers後的OpenLayers帆布已經初始化,然後使用這個帆布直接。
下面是正在運行後的OpenLayers已經盡了initilisation第二方法的代碼:在所有
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
context.fillText('© My Copyright Text'), 500, 600);
這只是打印和什麼我不知道爲什麼。 「寫入」openlayers畫布時有什麼特別之處嗎?
那麼將一些簡單的文本添加到地圖畫布的最佳方法是什麼?
感謝您的回答。我看到一個小小的衝突 - 你首先寫了'postrender',但是在你的代碼中使用'postcompose'。哪一個事件是使用的?對我來說,看看OL的來源,看起來'postcompose'與畫布渲染關係更密切。 –