I am trying to make a custom ToolButton but I am having some problems getting correct measurements.
I have drawn a line (using the normal line tool) and set its length to 1000m. (Double-clicking it and measuring it with the ruler tool both show it to be exactly 1000.00m)
However when I use my tool and drag from one end of the line to the other it gives a distance of 999.8892m. I'm guessing it's some kind of projection issue but I'm using the same settings throughout the system... Where am I going wrong?
Include "mapbasic.def" Include "icons.def" Declare Sub Main Declare Sub LineTool Declare Sub ExitProg Sub Main Alter ButtonPad "Drawing" Add Separator ToolButton Icon MI_ICON_ARROW_19 HelpMsg "Click on map to draw a line" Cursor MI_CURSOR_CROSSHAIR DrawMode DM_CUSTOM_LINE Calling LineTool Show Alter Menu "Tools" Add "Close Line Tool" Calling ExitProg End Sub Sub ExitProg End Program End Sub Sub LineTool Set Distance Units "m" Set Coordsys Earth Dim x, y, x2, y2 as float x = CommandInfo(CMD_INFO_X) y = CommandInfo(CMD_INFO_Y) x2 = CommandInfo(CMD_INFO_X2) y2 = CommandInfo(CMD_INFO_Y2) print x & ", " & y & ", " & x2 & ", " & y2 If x <> x2 and y <> y2 Then print Distance(x, y, x2, y2, "cm") Else print "That wasn't a line." End if End Sub