This tutorial should get you half way there. Basically you can create page templates with front-end registration and extra profile fields.
https://www.cozmoslabs.com/1012-wordpress-user-registration-template-and-custom-user-profile-fields/
Now the tricky part comes. You need to manually create an extra field that takes information from google maps and saves the GPS coordinates and run a GeoLocation query on Google Maps so you can save both in your database.
While the “save in the database” is easy, I’m not sure if the Google Maps API allows you to set pointers on the map and then returns you the coordinates.
Let me know how this turns out cause I’m interested in it.
PS: an alternative would be to have a simple country drop down on registration. You can use this plugin for that: https://www.cozmoslabs.com/wordpress-profile-builder/