--- a/myway/myway_timeliness_route.php +++ b/myway/myway_timeliness_route.php @@ -17,10 +17,10 @@ include ('../include/common.inc.php'); include_header("MyWay Deltas", "mywayDelta"); ?> - - <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../js/flot/excanvas.min.js"></script><![endif]--> - -<script language="javascript" type="text/javascript" src="../js/flot/jquery.flot.js"></script> +<!--[if lt IE 9]> + <script type="text/javascript" src="../js/FlashCanvas/bin/flashcanvas.js"></script> + <![endif]--> + <script type="text/javascript" src="../js/flotr2/flotr2.min.js"></script> <form method="get" action=""> <select id="routeid" name="routeid"> <?php @@ -38,8 +38,9 @@ <center><div id="placeholder" style="width:900px;height:550px"></div></center> <script type="text/javascript"> $(function () { + var placeholder = document.getElementById("placeholder"); - var placeholder = $("#placeholder"); + var data = []; var options = { xaxis: { @@ -47,14 +48,11 @@ yaxis: { tickFormatter: yformatter }, - grid: { hoverable: true, clickable: true, labelMargin: 32 }, - series: { - lines: { show: false }, - points: { show: true } - } + mouse: { track: true, relative: true, trackFormatter: showTooltip} + }; - var plot = $.plot(placeholder, data, options); + Flotr.draw(placeholder, data, options); // fetch one series, adding to what we got var alreadyFetched = {}; @@ -67,20 +65,17 @@ var dataurl = "myway_timeliness_route.json.php?routeid=" + select.val(); // then fetch the data with jQuery function onDataReceived(series) { - // extract the first coordinate pair so you can see that - // data is now an ordinary Javascript object - var firstcoordinate = '(' + series.data[0][0] + ', ' + series.data[0][1] + ')'; // let's add it to our current data if (!alreadyFetched[series.label]) { - alreadyFetched[series.label] = true; + alreadyFetched[series.label] = true; data.push(series); } // and plot all we got - $.plot(placeholder, data, options); - } + Flotr.draw(placeholder, data, options); + } $.ajax({ url: dataurl, @@ -99,41 +94,12 @@ if (Math.floor(v/60) < -9) return ""; return Math.abs(Math.floor(v/60)) + " min " + (v == 0 ? "" : (v >0 ? "early":"late")) } - function showTooltip(x, y, contents) { - $('<div id="tooltip">' + contents + '</div>').css( { - position: 'absolute', - display: 'none', - top: y + 5, - left: x + 5, - border: '1px solid #fdd', - padding: '2px', - 'background-color': '#fee', - opacity: 0.80 - }).appendTo("body").fadeIn(200); - } - - var previousPoint = null; - $("#placeholder").bind("plothover", function (event, pos, item) { - $("#x").text(pos.x.toFixed(2)); - $("#y").text(pos.y.toFixed(2)); - - if (item) { - if (previousPoint != item.dataIndex) { - previousPoint = item.dataIndex; - - $("#tooltip").remove(); - var x = item.datapoint[0], - y = item.datapoint[1].toFixed(2); - - showTooltip(item.pageX, item.pageY, - item.series.label + " at stop_sequence "+ x +" = " + Math.abs(new Number(y/60).toFixed(2))+" minutes "+(y >0 ? "early":"late")); - } - } - else { - $("#tooltip").remove(); - previousPoint = null; - } - }); + function showTooltip(point) { + + + return point.series.label + "<br> at stop sequence "+ point.x +" = " + Math.abs(new Number(point.y/60).toFixed(2))+" minutes "+(point.y >0 ? "early":"late"); + } + </script>