q我吧

HTML5学习笔记 Geolocation(地理定位)

HTML5 Geolocation(地理定位)用于定位用户的位置。

定位用户的位置

html5 Geolocation API用于获得用户的地理位置

鉴于该特性可能低侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。

HTML5 -使用地理定位

请使用getCurrentPositon()方法来获得用户的位置

下例是一个简单的地理定位的实例,可返回用户位置的纬度和纬度

直接上代码吧:

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="该浏览器不支持获取地理位置。";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude + 
  "<br>Longitude: " + position.coords.longitude; 
  }
</script>

实例解析:

检测是否支持地理定位

如果支持,则运行getCurrentPosition()方法。如果不支持,则几用户显示一段消息。

如果getCuurentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象

showPostion()函数获取并显示经度和纬度

处理错误和拒绝

getCurrentPosition()方法的第二个参数用于处理错误,它规定当获取用户位置失败时运行的函数:

function showError(error)
  {
  switch(error.code) 
    {
    case error.PERMISSION_DENIED:
      x.innerHTML="用户拒绝对获取地理位置的请求。"
      break;
    case error.POSITION_UNAVAILABLE:
      x.innerHTML="位置信息是不可用的。"
      break;
    case error.TIMEOUT:
      x.innerHTML="请求用户地理位置超时。"
      break;
    case error.UNKNOWN_ERROR:
      x.innerHTML="未知错误。"
      break;
    }
  }

Geolocation对象-其他有趣的方法

catchPosition()-返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车的GPS)

clearWatch()-停止watchPosition()方法

下面的例子展示watchPosition()方法,您需要一台精确的GPS设置来测试该例

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.watchPosition(showPosition);
    }
  else{x.innerHTML="该浏览器不支持获取地理位置。";}
  }
function showPosition(position)
  {
  x.innerHTML="纬度: " + position.coords.latitude + 
  "<br>经度: " + position.coords.longitude; 
  }
</script>

本节完

posted @ 2015-06-04 17:58  渲起浪花  阅读(608)  评论(0编辑  收藏  举报