您的位置:首页 > Web前端 > HTML5

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

2015-06-04 17:58 651 查看
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>


本节完
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: