It's possible for sure but still didn't find the right script, you might need to get a look on
Python IP2Location.
I worked on html code that grab the GPS of the Public IP not the client location but it's something similar.
---------------------------------------------------------------------------------------------------
</div>
</div>
<div class="col-md-offset-1 col-md-6 pera " data-wow-offset="120" data-wow-duration="1.5s">
<div class="container-fluid">
<h3>Your Geolocation Information</h3>
<div class="row">
<div class="col-xs-4 col-sm-4">Country</div>
<div class="col-xs-6 col-sm-6" id="country"></div>
</div>
<div class="row">
<div class="col-xs-4 col-sm-4">State</div>
<div class="col-xs-6 col-sm-6" id="state"></div>
</div>
<div class="row">
<div class="col-xs-4 col-sm-4">City</div>
<div class="col-xs-6 col-sm-6" id="city"></div>
</div>
<div class="row">
<div class="col-xs-4 col-sm-4">Latitude</div>
<div class="col-xs-6 col-sm-6" id="latitude"></div>
</div>
<div class="row">
<div class="col-xs-4 col-sm-4">Longitude</div>
<div class="col-xs-6 col-sm-6" id="longitude"></div>
</div>
<div class="row">
<div class="col-xs-4 col-sm-4">IP</div>
<div class="col-xs-6 col-sm-6" id="ipv4"></div>
</div>
</div>
<div class="row">
<div class="map" id="map2"></div>
</div>
</div>
</div>
</div>
</div>
</header>
<!--
<footer class="footer">
<div class="container">
<div class="row footer-body btn-scroll">
<div class="logo col-lg-6 col-md-6 col-sm-6 col-xs-6">
<a href="#" ><img src="/img/logo.png" alt="" class="img-responsive"></a>
</div>
<div class="top-buttom col-lg-6 col-md-6 col-sm-6 col-xs-6">
<a href="#header" class="btn-standard btn btn-top"><span class="glyphicon glyphicon-menu-up" aria-hidden="true"></span></a>
</div>
</div>
</div>
</footer>
-->
<!-- SCRIPTS -->
<script src="/js/jquery.1.9.1.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/jquery.stellar.min.js"></script>
<script src="/js/jquery.scrollTo.min.js"></script>
<script src="/js/jquery.localScroll.min.js"></script>
<script src="/js/owl.carousel.min.js"></script>
<script src="/js/jquery.nav.js"></script>
<script src="/js/wow.min.js"></script>
<script src="/js/jquery.nicescroll.min.js"></script>
<script src="/js/matchMedia.js"></script>
<script src="/js/navbar.matchMedia.js"></script>
<script src="/js/jquery.ajaxchimp.min.js"></script>
<script src="/js/jquery.countdown.js"></script>
<script src="/js/fancySelect.js"></script>
<script src="/js/navbar-custom.js"></script>
<script>
var lat, lon;
$.ajax({
url: "/jsonp",
jsonpCallback: "callback",
dataType: "jsonp",
success: function(location) {
$('#country').html(location.country_name);
$('#state').html(location.state);
$('#city').html(location.city);
$('#latitude').html(location.latitude);
$('#longitude').html(location.longitude);
$('#ipv4').html(location.IPv4);
}
});
// Digits - convert 1000000 into 1.000.000
$.fn.digits = function(){
return this.each(function(){
$(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1.") );
})
}
$.fn.undigits = function(){
return this.each(function(){
$(this).text( $(this).text().replace(".", "") );
</script>
<script src="/js/custom-scripts.js"></script>
</body>
</html>
---------------------------------------------------------------------------------------------------