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.