3月 20 2015 Web►Front-End [Front-End] Canvas拖曳移動地圖 由於專題需要,嘗試做一個地圖出來,這才知道原來如此簡單的功能做起來這麼崩潰 … 由於Canvas就像潑出去的水,如果我們想要做什麼改變就必須重新畫過。 按下滑鼠12345$("#myCanvas").mousedown(function (e) { press_mouse_x = mouse_x; press_mouse_y = mouse_y; mouse_press = true ;}); 放開滑鼠1234567$("#myCanvas").mouseup(function (e) { moved_x += move_x ; moved_y += move_y ; move_x = 0 ; move_y = 0 ; mouse_press = false ;}); 滑鼠移動12345678910111213141516$("#myCanvas").mousemove(function (e) { mouse_x = e.pageX + document.documentElement.scrollTop; mouse_y = e.pageY + document.documentElement.scrollLeft; if ( mouse_press === true ){ move_x = mouse_x-press_mouse_x ; move_y = mouse_y-press_mouse_y ; cxt.clearRect ( (-1)*c.width , (-1)*c.height , c.width*2, c.height*2 ); for ( var i = 0 ; i < data.length ; i ++ ){ cxt.fillStyle="#FF0000"; cxt.beginPath(); cxt.arc((parseFloat(data[i].longitude)-baselong)*disratio+(move_x+moved_x),(parseFloat(data[i].latitude)-baselati)*disratio+(move_y+moved_y),(parseFloat(data[i].RSSI))*(-1)*levelratio,0,Math.PI*2,true); cxt.closePath(); cxt.fill(); } }}); 雖然有種重新做輪子的感覺,但感覺挺充實的。 Newer [Compiler] GCC不是內部指令 Older [Front-End] Canvas使用滑鼠滾輪縮放