我使用OpenLayers熱圖,我想每2秒刷新一次KML向量。所以我認爲可能只是刪除圖層,刷新圖層,然後再次在地圖中添加圖層。但迄今爲止沒有任何工作。刷新ol.layer.heatmap KML每2秒和更新層
這裏是我的腳本:
var vector = new ol.layer.Heatmap({
source: new ol.source.Vector({
url: 'tweets.php',
format: new ol.format.KML({
extractStyles: false
})
}),
blur: parseInt(6, 10),
radius: parseInt(4, 10)
});
var raster = new ol.layer.Tile({
source: new ol.source.Stamen({
minZoom: 3,
maxZoom: 8,
layer: 'toner'
})
});
var koordinate = 5.9;
var map = new ol.Map({
target: 'map',
controls: [] ,
interactions: ol.interaction.defaults({
dragging: false,
dragPan: false
}),
view: new ol.View({
center: ol.proj.transform([10.5 , 51.0], 'EPSG:4326', 'EPSG:3857'),
minZoom: koordinate,
maxZoom: koordinate,
zoom: koordinate
})
});
map.addLayer(raster);
map.addLayer(vector);
blur.addEventListener('input', function() {
vector.setBlur(parseInt(blur.value, 10));
});
radius.addEventListener('input', function() {
vector.setRadius(parseInt(radius.value, 10));
});
編輯:這是對我的問題,最好的解決辦法,但我不工作。
setInterval(function() {
vector.loaded = false;
vector.setVisibility(true);
vector.redraw({ force: true });
}, 2000);
我也嘗試了一切與SetInterval
,但每次它是不正確的或者是錯誤的。我想ol.layer.heatmap
很難解決這個問題。
「*但目前爲止沒有任何工作*」,「*它不正確或錯誤*」 - 您必須比這更具體。至少你需要包含你正在談論的代碼。 – kryger
好吧,我添加了一些我的代碼。也許現在有人可以幫助我。 – mark96
我從來沒有專門使用過OpenLayers3,但我找不到任何提及'ol.layer.Heatmap'上的'redraw'方法 - 是否有可能使用了OL2文檔而不是OL3?無論如何,看起來你的問題已經在[gis.stackexchange]上得到了解答(http://gis.stackexchange.com/a/121439/6990)。問GIS問題往往是一個更好的地方。 – kryger