HTML5 地理定位( Geolocation)——0711

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>

如需在地图中显示结果,需要访问可使用经纬度的地图服务,比如谷歌地图或百度地图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值