Get City Name using browser geolocation

by sundaramkumar

HTML

<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>

JavaScript

var geocoder;
 geocoder = new google.maps.Geocoder();
  if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
  }
  //Get the latitude and the longitude;
  function successFunction(position) {
      var lat = position.coords.latitude;
      var lng = position.coords.longitude;
      codeLatLng(lat, lng);
  }

  function errorFunction() {
      alert("Geocoder failed");
  }

  

  function codeLatLng(lat, lng) {
	  console.debug(lat,lng);
      var latlng = new google.maps.LatLng(lat, lng);
      geocoder.geocode({
          'latLng': latlng
      }, function (results, status) {
          if (status == google.maps.GeocoderStatus.OK) {
              //console.debug("results", results);
              if (results[1]) {
                  //formatted address
                  //alert("Your Address : " +results[0].formatted_address);
                  //find country name
                  for (var i = 0; i < results[0].address_components.length; i++) {
                      for (var b = 0; b < results[0].address_components[i].types.length; b++) {

                          //there are different types that might hold a city admin_area_lvl_1 usually does in come cases looking for sublocality type will be more appropriate
                          if (results[0].address_components[i].types[b] == "locality"){ //administrative_area_level_1") {
                              //this is the object you are looking for
                              city = results[0].address_components[i];
                              break;
                          }
                          if(results[0].address_components[i].types[b] == "sublocality_level_1"){
                              area = results[0].address_components[i];
                              break;
                          }
                      }
                  }
                  //city data
                  alert("City Shortname: " + city.short_name + " -...