user517406
user517406

Reputation: 13763

Getting country code from Google Maps and HTML 5 GeoLocation

I am trying to use HTML 5 GeoLocation to get a longitude and latitude and then use Google Maps API to get the country code of that longitude/latitude. Can anybody tell me where I am going wrong in my code, I currently get the Javascript error 'this.lat is not a function' in main.js :

    <html>

<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=drnhdhddfhgfghfg" type="text/javascript"></script>

<script type="text/javascript">

    if (navigator.geolocation) { 

            navigator.geolocation.getCurrentPosition(function(position) {  

            var lat = position.coords.latitude;
            var lng = position.coords.longitude;

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

            $.post('http://maps.googleapis.com/maps/api/geocode/json', { latlng: latlng, sensor: false }, function (results) {
                alert(results);
            });
            });




    } 
    else {
            alert("Geolocation services are not supported by your browser.");
    } 

</script>

</head>

<body>



</body>

</html>

Upvotes: 2

Views: 8587

Answers (1)

jenswirf
jenswirf

Reputation: 7337

Try this:

<html>

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

if (navigator.geolocation) { 

        navigator.geolocation.getCurrentPosition(function(position) {  

        var lat = position.coords.latitude;
        var lng = position.coords.longitude;

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

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

geocoder.geocode({'latLng': latlng}, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    if (results[1]) {
    alert(results[7].formatted_address);
    }
  } else {
    alert("Geocoder failed due to: " + status);
  }
});
      });
      } else {
        alert("Geolocation services are not supported by your browser.");
} 

</script>
</head>
<body>
</body>
</html>

Upvotes: 2

Related Questions