From https://developers.google.com/maps/documentation/javascript/examples/map-geolocation