HTML5 Geolocation API 用于获得用户的地理位置。
鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。
该API 在谷歌浏览器使用无效。
如何使用地理定位?
使用getCurrentPosition()
方法来获得用户的位置。该方法有两个参数,第一个参数为showPosition
,可返回用户位置的经度和纬度;第二个参数为showError
,用于处理错误。它规定当获取用户位置失败时运行的函数。
以下为用法示例:
<span id="demo"></span>
<script>
var x = document.getElementById("demo");
window.onload=function(){
getLocation();
};
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError);
}
else {
x.innerHTML = "该浏览器不支持获取地理位置。";
}
}
//使用地理定位
function showPosition(position) {
x.innerHTML = "纬度: " + position.coords.latitude +
"<br>经度: " + position.coords.longitude;
}
//处理错误和拒绝
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;
}
}
</script>
如需在地图中显示结果,需要访问可使用经纬度的地图服务,比如谷歌地图或百度地图