[geolocation] Fixes for Bugs 1022630, 1027489, and 1022637

It's a shame that `changed_data` is documented, it looks so useful! Wish I had known about it.