Only reencode lat and lng if changed
Wrote full test coverage