Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
32
rated 0 times [  33] [ 1]  / answers: 1 / hits: 191945  / 13 Years ago, thu, may 12, 2011, 12:00:00

I'm using the following geocoding function to convert a textual address into latitude and longitude numbers, but it's not working right. The alert writes undefined.



Can anyone say what's wrong?



<script type=text/javascript src=http://maps.google.com/maps/api/js?sensor=false></script>
<script type=text/javascript>

var geocoder = new google.maps.Geocoder();
var address = new york;

geocoder.geocode( { 'address': address}, function(results, status) {

if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.latitude;
var longitude = results[0].geometry.location.longitude;
alert(latitude);
}
});
</script>

More From » google-maps

 Answers
25

Try using this instead:



var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();


It's bit hard to navigate Google's api but here is the relevant documentation.



One thing I had trouble finding was how to go in the other direction. From coordinates to an address. Here is the code I neded upp using. Please not that I also use jquery.



$.each(results[0].address_components, function(){
$(#CreateDialog).find('input[name='+ this.types+']').attr('value', this.long_name);
});


What I'm doing is to loop through all the returned address_components and test if their types match any input element names I have in a form. And if they do I set the value of the element to the address_components value.

If you're only interrested in the whole formated address then you can follow Google's example


[#92266] Wednesday, May 11, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
katia

Total Points: 570
Total Questions: 101
Total Answers: 85

Location: Saudi Arabia
Member since Sat, Aug 20, 2022
2 Years ago
;