在HTML5中,用getCurrentPosition()获取用户的当前位置

转:https://blog.csdn.net/xiaoxia188/article/details/84703576

 

getCurrentPosition(successCallback, errorCallback,PositionOptions);
successCallback: 表示获取到的用户数据位置。
该对象包含三个属性:coords、address和timestamp。
coords属性包含七个值,accuracy:精确度,latitude:纬度,longitude:经度,altitude:海拔,altitudeAcuracy:海拔高度的精确度,heading:朝向,speed:速度。

address属性包含八个值,country:国家,province:省份,city:城市,district:区/县,street:路,streetNum:路编号,poiName:地点名称,cityCode:城市代码



errorCallback: 返回的错误代码。
包含两个属性:message:错误信息,code:错误代码
错误代码包含四个值:
unknow_error: 表示不包括在其他错误代码中的错误,可以在message中查找信息。
permission_denied: 表示用户拒绝浏览器获取位置信息的请求。
position unavalablf: 表示网络不可用或者连接不到卫星。
timeout: 表示获取超时时。必须在options中指定了timeout值时才有可能发生这种错误。

PositionOptions: 数据格式为json,有3个属性
enableHighAcuracy:布尔值,表示是否启用高精确度模式,如果启用这个模式,浏览器在获取位置信息时可能需要耗费更多的时间。
Timeout: 整数,表示浏览器需要在指定的时间内获取位置信息,否则触发errorCallback。
maximumAge: 整数/常量,表示浏览器重新获取位置信息的时间间隔。

<script>
var x=document.getElementById("demo");
function getLocation() {
  if (navigator.geolocation){   //检测是否支持地理定位
          navigator.geolocation.getCurrentPosition(showPosition);
    } else{
            x.innerHTML="Geolocation is not supported by this browser.";
              }
  }
function showPosition(position) {
  x.innerHTML="Latitude: " + position.coords.latitude +
  "<br />Longitude: " + position.coords.longitude;
  }
</script>

 

posted @ 2019-05-15 16:30  星星下的石头  阅读(2999)  评论(0编辑  收藏  举报