--- map.js.php	Mon Oct 19 20:27:22 2015
+++ map.patched.js.php	Mon Oct 19 20:32:58 2015
@@ -1333,13 +1333,28 @@
 ruler.measure =	function(){
 		var line;
 		var dist=0;
-		if(ruler.marker1 && ruler.marker2)
+		var dx, dy, ang, ang2, lang1, lang2;
+
+		if(!(ruler.marker1 && ruler.marker2)) return;
+
 		line = [ruler.marker1.getPoint(),ruler.marker2.getPoint()];
 		dist=ruler.marker1.getPoint().distanceFrom(ruler.marker2.getPoint());
+
+		dx = ruler.marker2.getPoint().lat()-ruler.marker1.getPoint().lat();
+		dy = ruler.marker2.getPoint().lng()-ruler.marker1.getPoint().lng();
+		ang = Math.atan2(dy,dx)/2/Math.PI*360;
+		if (ang < 0) ang = 360+ang;
+		ang = Math.floor(ang);
+		ang2 = (180+ang)%360;
+
+ 		lang1 = " (" + ang + ")°";
+ 		lang2 = " (" + ang2 + ")°";
+ 		 
+
 		dist=dist.toFixed(0)+"m";
 		if(parseInt(dist)>10000){dist=(parseInt(dist)/1000).toFixed(1)+"km";}
-		ruler.label1.setContents(dist);
-		ruler.label2.setContents(dist);
+		ruler.label1.setContents(dist + lang1);
+		ruler.label2.setContents(dist + lang2);
 		ruler.label1.setPoint(ruler.marker1.getPoint());
 		ruler.label2.setPoint(ruler.marker2.getPoint());
 
