JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://maps.google.com/maps/api/js?sensor=false&amp;fake=.js"></script>

JavaScript

(function() {

 var getPosition = function (options) {
    var deferred = $.Deferred();

    navigator.geolocation.getCurrentPosition(
        deferred.resolve,
        deferred.reject,
        options);

    return deferred.promise();
 };

 var lookupCountry = function (position) {
    var deferred = $.Deferred();

    var latlng = new google.maps.LatLng(
                        position.coords.latitude,
                        position.coords.longitude);
    var geoCoder = new google.maps.Geocoder();
    geoCoder.geocode({ location: latlng }, deferred.resolve);

    return deferred.promise();
 };

 var displayResults = function (results, status) {            
    $("body").append("<div>").text(results[0].formatted_address);      
 };

 $(function () {
    $.when(getPosition())
     .pipe(lookupCountry)
     .then(displayResults);
 });

}());