<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<p id="location" >用来显示定位信息</p>
<input type="button" value="定位" onclick="showLocation()">
<script type="text/javascript">
var x=document.getElementById("location");
//定义一个函数:用来获取用户的定位信息
function showLocation(){
//判断是否可以定位
if(navigator.geolocation){
//getCurrentPosition()中需要传入一个回调函数
navigator.geolocation.getCurrentPosition(location_1);
}else{
x.innerHTML="无法获取当前位置";
}
}
function location_1(position){
//显示获取到的用户定位中的维度和经度
x.innerHTML="纬度: "+position.coords.latitude+"经度: "+position.coords.longitude;
}
function* showError(error) {
// Permission denied - 用户不允许地理位置
// Position unavailable - 无法获取当前位置
// Timeout - 操作超时
switch(error.code) {
case error.PERMISSION_DENIED:
x.innerHTML="用户不允许地理位置 ";
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML="无法获取当前位置 ";
case error.TIMEOUT:
x.innerHTML="操作超时";
break;
}
}
</script>
</body>
</html>
效果
知识点
Permission denied - 用户不允许地理位置
Position unavailable - 无法获取当前位置
Timeout - 操作超时
显示获取到的用户定位中的维度和经度
x.innerHTML="纬度: "+position.coords.latitude+"经度: "+position.coords.longitude;
getCurrentPosition()方法-返回数据
coords.latitude 十进制数的维度
coords.longitude 十进制数的经度
coords.accuracy 位置经度
coords.altitude 海拔,海平面以上
coords.altitudeAccuracy 位置的海拔精度
coords.heading 方向,从正北开始以度计
coords.speed 速度,以米秒计
timestamp 响应的日期/时间