diff --git a/inner/js/data/MeshCSVLoader.js b/inner/js/data/MeshCSVLoader.js index 277652b..af92ec6 100644 --- a/inner/js/data/MeshCSVLoader.js +++ b/inner/js/data/MeshCSVLoader.js @@ -85,6 +85,12 @@ if (!window.mobmap) { window.mobmap={}; } md.originLng = 100; switch(meshLevel) { + case 2: + // 2-ji (1/8 of 1-ji) + md.stepLat = (1.0 / 1.5) / 8.0; + md.stepLng = (1.0 ) / 8.0; + break; + default: // 1-ji md.stepLat = 1.0 / 1.5; @@ -156,11 +162,40 @@ if (!window.mobmap) { window.mobmap={}; } }, calcLatIndexFromMeshCode: function(meshCode) { - return Math.floor(meshCode / 100); + var index = 0; + switch (this.usingMeshCode.level) { + case 2: + var i1 = Math.floor(meshCode / 10000); + var yx2 = meshCode % 100; + var i2 = Math.floor(yx2 / 10); + + index = i1 * 8 + i2; + + break; + + default: + index = Math.floor(meshCode / 100); break; + } + + return index; }, calcLngIndexFromMeshCode: function(meshCode) { - return meshCode % 100 ; + var index = 0; + switch (this.usingMeshCode.level) { + case 2: + var i1 = Math.floor(meshCode / 100) % 100; + var i2 = meshCode % 10; + + index = i1 * 8 + i2; + + break; + + default: + index = meshCode % 100; break; + } + + return index; }, // callbacks - - - - - - - - - - - - - diff --git a/inner/js/data/mesh-data.js b/inner/js/data/mesh-data.js index b7087c1..94f4db1 100644 --- a/inner/js/data/mesh-data.js +++ b/inner/js/data/mesh-data.js @@ -33,7 +33,7 @@ if (!window.mobmap) window.mobmap={}; var cell = m[k]; return cell.pickAtTime(tSeconds); } else { - return 0; + return null; } }, diff --git a/inner/js/map/MeshCanvasOverlay.js b/inner/js/map/MeshCanvasOverlay.js index 304c219..80eaa14 100644 --- a/inner/js/map/MeshCanvasOverlay.js +++ b/inner/js/map/MeshCanvasOverlay.js @@ -123,11 +123,14 @@ if (!window.mobmap) { window.mobmap={}; } } var cellVal = md.pick(y, x, this.pickTime); - var cellColor = this.mapValueToCellColor(cellVal.val); - g.fillStyle = cellColor; + if (cellVal) { + var cellColor = this.mapValueToCellColor(cellVal.val); + g.fillStyle = cellColor; - g.fillRect(sx1, sy2, (sx2-sx1), (sy1-sy2)); -// g.clearRect(sx1+1, sy2+1, (sx2-sx1)-2, (sy1-sy2)-2); + g.fillRect(sx1, sy2, (sx2-sx1), (sy1-sy2)); + // g.clearRect(sx1+1, sy2+1, (sx2-sx1)-2, (sy1-sy2)-2); + } + } } };