I was interested in getting my current address using Javascript and just figured this out by assembling some other SO threads (1,2) so wanted to post this question and answer.
Please see answer below.
I was interested in getting my current address using Javascript and just figured this out by assembling some other SO threads (1,2) so wanted to post this question and answer.
Please see answer below.
Here's the HTML:
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<p id='latitudeAndLongitude'></p>
<p id='address'></p>
Here's the JS:
var latitudeAndLongitude=document.getElementById("latitudeAndLongitude"),
location={
latitude:'',
longitude:''
};
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition);
}
else{
latitudeAndLongitude.innerHTML="Geolocation is not supported by this browser.";
}
function showPosition(position){
location.latitude=position.coords.latitude;
location.longitude=position.coords.longitude;
latitudeAndLongitude.innerHTML="Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
var geocoder = new google.maps.Geocoder();
var latLng = new google.maps.LatLng(location.latitude, location.longitude);
if (geocoder) {
geocoder.geocode({ 'latLng': latLng}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log(results[0].formatted_address);
$('#address').html('Address:'+results[0].formatted_address);
}
else {
$('#address').html('Geocoding failed: '+status);
console.log("Geocoding failed: " + status);
}
}); //geocoder.geocode()
}
} //showPosition
function GetGeolocation() {
navigator.geolocation.getCurrentPosition(GetCoords, GetError);
}
function GetCoords(position){
alert(position.coords.latitude);
alert(position.coords.longitude);
alert(position.coords.accuracy);
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
map.setZoom(11);
marker = new google.maps.Marker({
position: latlng,
map: map
});
infowindow.setContent(results[1].formatted_address);
infowindow.open(map, marker);
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}