views:

775

answers:

3

Hello,

I would like to get the address string of the current user location. Is that possible?

Many thanks. Regards

+1  A: 

the user's location is available in google.loader.ClientLocation (this will contain a guess based on the client IP if the IP is known)

google.loader.ClientLocation

When an application makes use of the AJAX API loader, the loader attempts to geo locate the client based on its IP address. If this process succeeds, the client's location, scoped to the metro level, is made available in the google.loader.ClientLocation property. If the process fails to find a match, this property is set to null.

http://code.google.com/apis/ajax/documentation/#ClientLocation

+1  A: 

If you need something more precise than IP geolocation, you could use the W3C Geolocation API in supported browsers (notably, Firefox 3.5 and Mobile Safari) to request the user's latitude and longitude and then use Google's client-side reverse geocoding service to guess the user's approximate street address. (Code samples for both of those steps included on my test page.)

If you go this route, be sure to explain to your users up front why you're requesting their location and how you're using their information (e.g. that you're not storing it until they actually submit a form) because it's technically required by the API and because some users will be creeped out by how easily you can guess their street address.

npdoty
A: 

Hi All!

if you are trying to get The Street Address!

include both JS and MAP Api Key, keep all together from the wizard

my code look like this: (use also a bit of jQuery)

var geocoder = null;
var lat = null;
var lng = null;

$(function() {
   if (GBrowserIsCompatible()) {

 if (google.loader.ClientLocation &&
     // i used this here cause not always 
     //this retrieve the correct LAT & LON
     // so set it manually
      google.loader.ClientLocation.address.country_code == "IT" ) {
      lat = google.loader.ClientLocation.latitude;
      lng = google.loader.ClientLocation.longitude;
      } else {
      //alert( 'Insert Your Latitude & longitude manually!' );
      lat = '42.464826';
      lng = '14.214095';
      }
    //creat the full LAT + LON
    points = new GLatLng( lat , lng ); 
    //get the Street Address
    get_address(points);
    }
 });

    function get_address(latlng) {
      if (latlng) {
      geocoder = new GClientGeocoder();
        geocoder.getLocations(latlng, function(addresses) {
          if(addresses.Status.code != 200) {
            alert("reverse geocoder failed to find an address for " + latlng.toUrlValue());
          }
          else {
            address = addresses.Placemark[0];
            var myHtml = address.address;

            $('#address').text(myHtml);

          }
        });
      }
    };

peraphs read this link may help too:

http://stackoverflow.com/questions/158557/get-street-address-at-lat-long-pair

aSeptik
Thanks, aSeptik
Puru puru rin..
no problem bro! ;-)
aSeptik