var lat = Math.round(point.y\*1000000)/1000000; var lon = Math.round(point.x\*1000000)/1000000;
lat und lon sind hier stinknormale Number-Werte.
if(lat.value < 0) { signlat = -1; }
Hier behandelst du sie allerdings wie Objekte mit einer Eigenschaft value.
Das geht zwar. Dann werden die Zahlen kurzzeitig in Objekte umgewandelt und ihre Eigenschaft value abgerufen - diese existiert nicht, also bekommst du undefined heraus. Und undefined erzeugt bei sämtlichen mathematischen Operationen ein NaN. 5 + undefined ergibt NaN usw.
Lass das .value jeweils einfach weg.
Mathias