Hi there, here is a modified version of the codeLatLng function which does
the recursive parsing.
bye,
Davide
*************************************
*function* codeLatLng() {

*var* input = document.getElementById("latlng").value;

*var* latlngStr = input.split(",",2);

*var* lat = parseFloat(latlngStr[0]);

*var* lng = parseFloat(latlngStr[1]);

*var* latlng = *new* google.maps.LatLng(lat, lng);

*if* (geocoder) {

geocoder.geocode({'latLng': latlng}, *function*(results, status) {

*if* (status == google.maps.GeocoderStatus.OK) {

*if* (results.length>0) {

*var* country = "";

*for* (i=0; i<results.length; i++) {

*var* res = results[i];

*for* (j=0; j<res.types.length; j++) {

*if* (res.types[j]=="country") {

country = res.address_components[0].long_name;

};

}

}

alert(country);

} *else* {

alert("No results found");

}

} *else* {

alert("Geocoder failed due to: " + status);

}

});

}

}
*****************************************************************


2010/6/7 Davide Cremonesi <[email protected]>

> Hi there,
> unfortunately you cannot access the country directly as you would like.
> You have to parse the address_component array recursively, looking for an
> entry whose types array contains "country" and take its long_name or
> short_name as you prefer.
> If you inspect the results object in Firebug you will understand better
> what I mean.
> Hope it helps,
> Davide
>
>
>
> 2010/6/6 hero <[email protected]>
>
> hi
>> iam trying to mainpulate this example to return the country name where
>> my marker is set :
>>
>> http://code.google.com/apis/maps/documentation/javascript/examples/geocoding-reverse.html
>> iam trying the following:
>>
>>          alert(results[1].address_component[country]);  but it is not
>> working
>>
>>
>> and here`s the code :
>>
>> function codeLatLng() {
>>    var input = document.getElementById("latlng").value;
>>    var latlngStr = input.split(",",2);
>>    var lat = parseFloat(latlngStr[0]);
>>    var lng = parseFloat(latlngStr[1]);
>>    var latlng = new google.maps.LatLng(lat, lng);
>>    if (geocoder) {
>>      geocoder.geocode({'latLng': latlng}, function(results, status)
>> {
>>        if (status == google.maps.GeocoderStatus.OK) {
>>          if (results[1]) {
>>          alert(results[1].address_component[country]);
>>          } else {
>>            alert("No results found");
>>          }
>>        } else {
>>          alert("Geocoder failed due to: " + status);
>>        }
>>      });
>>    }
>>  }
>>
>> any help is really appreciated, thanks a lot
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google Maps JavaScript API v3" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<google-maps-js-api-v3%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-maps-js-api-v3?hl=en.
>>
>>
> Hi

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to