使用javascript获取我当前的地址

tim*_*son 5 javascript jquery google-maps geolocation

我感兴趣的是让使用Javascript我目前的地址,只是这出由组装一些其他SO线程(1,2),所以想后这个问题和答案.

请看下面的答案.

tim*_*son 13

这是HTML:

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<p id='latitudeAndLongitude'></p>
<p id='address'></p> 
Run Code Online (Sandbox Code Playgroud)

这是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
Run Code Online (Sandbox Code Playgroud)

  • 伟大的工作@timpeterson 它工作得很好。只是对它稍作改动......按原样使用它,它会在页面加载时重定向我的浏览器。所以我删除了 ',location = { ... };' 部分代码作为 Javascript 中的位置重定向您的浏览器。在此之后,它工作得很好。 (2认同)