Your Picture doesnt really fit to what you are describing. As you placed the grid on top of the red line. So you are always just moving from edge to edge.
But assuming you mean edge to edge, it's still not clear what you mean. I made a few examples:
Green Arrow: Thats how it should work. You press a button, you move a whole tile.
Purple Arrow: You freely move around, can even move to the wall, release the button, you are now snapped back to the purple circle. This is not allowed.
Yellow Arrow: You can only move along the red line, but you can do so frely. Once you release you are snapped back to the closest tile. This might or might not be allowed (Zooperdan will make the call). I can assure you that it will feel horrible to play though.