2016-11-02 6 views
0

私は趣味のプロジェクトをやっています。私は2時間ごとに異なる値(ポイント)の温度マップを読み込みます。 DrawLow関数に問題が発生します。お互いに何度も温度マップを描くことはまれな問題です。彼は色彩の価値を覚えています。どのように色の値/ポリゴンなどをリセットしてレンダリングするように変更できますか?お互いに何度も温度マップを描く

ページをリロードすると、問題が解決されます。 これを再読み込みせずにこのバグが表示されます!私は私のページをリロードしたくありません!

私は図書館の著者に電子メールを送った。彼は新しいアップデートをアップロードしましたが、問題はまだ解決されていません。

私は自分自身を試してみた何:
クリアキャンバス:ctx0.clearRect(0, 0, can0.width, can0.height);
リロードtemperatureMap.js:$('#temperatureMapScript').remove(); $.getScript("Scripts/temperatureMap.js", function() { $('script:last').attr('id', 'temperatureMapScript');
リロードキャンバス:​​

私が使用しているコードは次のとおりです。

var can0 = document.getElementById("canvast1"); // Get the canvas object 
var ctx0 = can0.getContext("2d");   // Get the canvas context 
    var drw0 = new TemperatureMap(ctx0);  // Create the object 
    ctx0.clearRect(0, 0, can0.width, can0.height); //Clear the canvas! 
dataSet.d.forEach(function(dataSet) { 
     listPoints.push(dataSet); 
    }); 
    drw0.setPoints(listPoints, 500, 500); 
    drw0.drawLow(5, 8, true, function() { // 5 = Number of closer influent points 
     // 8 = Quality parameter [2, 32] 
     //false = clean polygon outside 
    drw0.drawPoints();  
    }); 

このバグは、キャンバスのcreateRadialGradient/color要素と関係があります。誰でもキャンバスを正しくリセットするために私を助けることができますか?

First time run(good one)
Second time run(buggy one)

+0

注:温度マップライブラリのリンク:https://github.com/optimisme/javascript-temperatureMap – E75

答えて

0

私はcanvas要素は、以前の状態を記憶しているので問題

(temperatureMapライブラリ内の)引き分けの低い方法は、この行を含める必要があり、固定!

ctx.width += 0; //Resizing the canvas will cause the canvas to get cleared. 
ctx.fillStyle = "#191919"; //must be filled white for properly rendering before setting the gradient 
関連する問題