[Help] Cannot set correctly a new waypoint in specific coordinates

Hello! Someone knows why if i take a gps waypoint coords (x,y) with GetGpsWaypointRouteEnd(false, 0, 0);
And set that waypoint again with SetNewWaypoint(x,y);, in some part of the maps, the coords taken are different from the coords used with the SetNewWaypoint(…)?
For example if i set a waypoint in coords x1 = 930; y1 = 695;
Then i run GetGpsWaypointRouteEnd(false, 0, 0);
the x=630 and y=687.
Or if i set in x1 = 1005; y1 = 662;
The returned vars are: x=1008 and y=668.
Someone could say why or have some tips in order to solve?
Some screens Imgur: The magic of the Internet

Thank you