Search code examples
phpjquerygeolocation

GeoLocation using PHP


I copied paste following code and I am a noob at this. So can you point out error please? I am sorry for asking such a stupid question.

<HTML>

<HEAD>
</HEAD>

<BODY>
    <h3>Client side IP geolocation using <a href="http://ipinfo.io">ipinfo.io</a></h3>
    <hr/>
    <div id="ip"></div>
    <div id="address"></div>
    <hr/>Full response: <pre id="details"></pre>
</BODY>

</HTML>
<script type="text/javascript" charset="utf-8">
$.get("http://ipinfo.io", function(response) {
    $("#ip").html("IP: " + response.ip);
    $("#address").html("Location: " + response.city + ", " + response.region);
    $("#details").html(JSON.stringify(response, null, 4));
}, "jsonp");
</script>

Solution

  • HtML5 using get user latitude, longitude and get current user address.

    Sample code:

    <!DOCTYPE html>
    <html>
        <head>
            <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
            <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
        </head>
        <body>
            <p>Address: <div id="address"></div></p>
        </body>
        <script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
    
            var currgeocoder;
    
            //Set geo location lat and long
            navigator.geolocation.getCurrentPosition(function(position, html5Error) {
                geo_loc = processGeolocationResult(position);
                currLatLong = geo_loc.split(",");
                initializeCurrent(currLatLong[0], currLatLong[1]);
            });
    
            //Get geo location result
            function processGeolocationResult(position) {
                html5Lat = position.coords.latitude; //Get latitude
                html5Lon = position.coords.longitude; //Get longitude
                html5TimeStamp = position.timestamp; //Get timestamp
                html5Accuracy = position.coords.accuracy; //Get accuracy in meters
                return (html5Lat).toFixed(8) + ", " + (html5Lon).toFixed(8);
            }
    
            //Check value is present or
            function initializeCurrent(latcurr, longcurr) {
                currgeocoder = new google.maps.Geocoder();
    
                console.log(latcurr + "-- ######## --" + longcurr);
    
                if (latcurr != '' && longcurr != '') {
                    //call google api function
                    var myLatlng = new google.maps.LatLng(latcurr, longcurr);
                    return getCurrentAddress(myLatlng);
                }
            }
    
            //Get current address
            function getCurrentAddress(location) {
                currgeocoder.geocode({
                    'location': location
                }, function(results, status) {
                    if (status == google.maps.GeocoderStatus.OK) {
                        console.log(results[0]);
                        $("#address").html(results[0].formatted_address);
                    } else {
                        alert('Geocode was not successful for the following reason: ' + status);
                    }
                });
            }
        });
        </script>
    </html>
    

    Demo: http://jsfiddle.net/hmy7e0fs/