位置:首页 > 软件操作教程 > 编程开发 > HTML > 问题详情

HTML5 使用HTML5地理位置定位功能

提问人:刘团圆发布时间:2020-11-16

    定位功能(Geolocation )是HTML5的新特性,因此只能在支持HTML5的浏览器上运行,特别是手持设备(如iphone)的地理定位更加精确。首先我们要检测用户设备上的浏览器是否支持地理定位,如果支持,则获取地理信息。这个特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。所以在访问该应用时,会提示是否允许地理定位,选择允许即可,JS代码如下:

    function getLocation() {

    if (navigator.geolocation) {

    navigator.geolocation.getCurrentPosition(showPosition,showError);

    }else{

    alert("浏览器不支持地理定位。");

    }

    }

    从上面的代码可以知道,如果用户设备支持地理定位,则运行getCurrentPosition()方法。如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象,getCurrentPosition()方法的第二个参数showError用于处理错误,它规定当获取用户位置失败时运行的函数。

    我们先来看函数showError(),它规定获取用户地理位置失败时的一些错误代码处理方式,JS代码如下:

    function showError(error){

    switch(error.code) {

    case error.PERMISSiON_DENIED;

    alert("定位失败,用户拒绝请求地理定位");

    break;

    case error.POSITION_UNAVAILABLE:

    alert("定位失败,位置信息是不可用");

    break;

    case error.TIMEOUT;

    alert("定位失败,请求获取用户位置超时");

    break;

    case error.UNKN0WN_ERR0R:

    alert("定位失败,定位系统失效");

    break;

    }

    }

    再来看函数showPosition(),调用coords的latitude和longitude即可获取到用户的讳度和经度,JS代码如下:

    function showEosition(position){

    var lat = position.coords.latitude;  //纬度

    var lag = positdon.coords.longitude; //经度

    alert('纬度:'+lat+',经度:'+lag);

    }

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部