San
San

Reputation: 359

How to Get Current Address accurately using Google Maps?

Im trying to get my current location but the problem is the address which the marker points is only the nearest street where I am now. How can I get my place accurately?

Heres the screen shot. Thanks in advance :) Click here

<input type="button" value="Show Location" onclick="showlocation()"/> 

<br/>
    Latitude: <span id="latitude">..</span> <br>
    Longitude: <span id="longitude">..</span><br>
    Address: <span id="add">..</span><br>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script>

    function showlocation(){

        navigator.geolocation.watchPosition(callback);

    }
    function callback(position){
        document.getElementById('latitude').innerHTML=position.coords.latitude;
        document.getElementById('longitude').innerHTML=position.coords.longitude;
          var geocoder = new google.maps.Geocoder();
          var latitude = position.coords.latitude;
          var longitude = position.coords.longitude;
          var latLng = new google.maps.LatLng(latitude,longitude);
        geocoder.geocode({       
            latLng: latLng     
            }, 
            function(responses) 
            {     
               if (responses && responses.length > 0) 
               {        
                   address(responses[0].formatted_address);     
               } 
               else 
               {       
                 alert('Not getting Any address for given latitude and longitude.');     
               }   
            }
    );
    } 
        function address(str) 
        {
          document.getElementById('add').innerHTML = str;
        }

    </script>

Upvotes: 0

Views: 2458

Answers (1)

abielita
abielita

Reputation: 13469

Use Geolocation API. To obtain your current location, you can call the getCurrentPosition() method. This initiates an asynchronous request to detect the user's position, and queries the positioning hardware to get up-to-date information.

When the position is determined, the defined callback function is executed. You can optionally provide a second callback function to be executed if an error occurs. A third, optional, parameter is an options object where you can set the maximum age of the position returned, the time to wait for a request, and if you want high accuracy for the position.

This documentation and example might help you.

Upvotes: 1

Related Questions