<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 10, 2013 at 6:02 AM, Jan Hartmann <span dir="ltr"><<a href="mailto:j.l.h.hartmann@uva.nl" target="_blank">j.l.h.hartmann@uva.nl</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
    
    
  
  <div bgcolor="#ffffff" text="#000000">
    Hi Rich, how did you get the lon-lat values on your map formattted
    as degrees/minutes/seconds (next to the default decimal degrees?)<br clear="all"></div></blockquote></div><br></div><div class="gmail_extra">Hey Jan -<br><br></div><div class="gmail_extra">The hardest part was getting the coordinates to be the same width so that they did not cause other page elements to move. Without that the display was quite "jittery". My code is below. I'm using my original CSCS transformation library, not proj4js, but that shouldn't matter.<br>
<br></div><div class="gmail_extra">Best regards,<br>Rich<br><br>rwg.cursorCoords = function(e) {<br><br>  var position = this.events.getMousePosition(e);<br>  var pointXY = this.getLonLatFromPixel(position); /* this has a transform method */<br>
  var p = new <a href="http://CSCS.PT">CSCS.PT</a>(pointXY.lon, pointXY.lat);<br>  var text;<br><br>  /* *** Private functions ***************** */<br>  var zeroPad2 = function(num) {<br>    num += '';<br>    return (num.length<2) ? "0"+num : num;<br>
  };<br><br>  var zeroPad4 = function(num) {<br>    num += '';<br>    return (num.length<4) ? "0"+num : num;<br>  };<br><br>  var dd2dms = function(v) {<br>    var fv = v % 1;     // fractional part<br>
    var d = v - fv;     // integer part (degrees)<br>    fv = Math.abs(fv);<br>    var m = fv * 60;    // minutes<br>    var mf = m % 1;     // fractional part of minutes<br>    var mi = m - mf;    // integer part of minutes<br>
    var s = Math.round(mf*600)/10;  // seconds<br>    s = s.toFixed(1);<br>    return  d + "&deg;&nbsp;" + zeroPad2(mi) + "'&nbsp;"+ zeroPad4(s) + "&quot;";<br>  };<br>  <br>
  // display original state plane coords<br>  text = "N: " + Math.round(p.y) + " E: " + Math.round(p.x);<br>  OpenLayers.Util.getElement("coords").innerHTML = text;<br><br>  // convert to long/lat and display<br>
  CSCS.transform(csSP, csLL, p);<br>  <br>  text = "<table cellpadding=\"0\" cellspacing=\"0\"><tr><td>";<br>  text += "Long:&nbsp;" + dd2dms(p.x) + "</td><td>&nbsp;Lat:&nbsp;" + dd2dms(p.y);<br>
  text += "</td></tr><tr><td>Long:&nbsp;" + Math.round(p.x*10000)/10000 + "&deg;</td><td>&nbsp;Lat:&nbsp;" + Math.round(p.y*10000)/10000;<br>  text += "&deg;</td></tr></table>";<br>
<br>  OpenLayers.Util.getElement("coordsLL").innerHTML = text;<br><br>  // convert long/lat to UTM and display<br>  CSCS.transform(csLL, csUTM, p);<br>  text = "X =" + Math.round(p.x) + " Y = " + Math.round(p.y);<br>
  OpenLayers.Util.getElement("coordsUTM").innerHTML = text;<br>  <br>};<br><br></div><div class="gmail_extra"><br><br><br><br>-- <br>Richard Greenwood<br><a href="mailto:richard.greenwood@gmail.com">richard.greenwood@gmail.com</a><br>
<a href="http://www.greenwoodmap.com">www.greenwoodmap.com</a>
</div></div>