讲给Android程序员看的前端教程(36)——Navigator

来源:互联网 发布:rmvb转mp4 mac版 编辑:程序博客网 时间:2024/06/05 07:24

自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl
  • 本文视频教程:http://www.stay4it.com/my/course/37

JavaScript客户端领域存的顶层对象Window中有一个属性navigator表示对Navigator对象的引用;该对象包含有关浏览器的信息,比如:名称、浏览器的版本、语言、平台等等。在此,我们通过代码查看与浏览器有关的所有属性及其对应的值。

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>navigator</title></head><body>    <script type="text/javascript">        var nav=window.navigator;        var result="浏览器信息<br>";        for(var propertyName in nav){            result=result+propertyName+":"+window.navigator[propertyName]+"<br>";        }        document.writeln(result);    </script></body></html>

运行后效果图如下所示:

这里写图片描述

哇哈,这么多属性,记不住啊!没事,正常人都记不住的,所以别太在意;熟知几个常用的即可。如果觉得刚才挨个打印属性的方式觉得繁琐的话,你也可以一句话搞定:

console.log(window.navigator);

直接将信息打印至控制台。


Geolocation

在HTML5中新增geolocation属性,利用该属性可以引用Geolocation对象从而实现定位功能。
Geolocation常用方法如下:

  • getCurrentPosition(success, error, options)获取设备当前位置。
    success表示成功得到位置信息时的回调函数,该函数参数为Position对象
    error表示获取位置信息失败时的回调函数,该函数参数为PositionError类型
    options该对象用于设置可选参数;比如:可在该参数中设置超时,缓存等

  • watchPosition(success, error, options)当设备的地理位置发生改变的时候自动调用该方法。该方法的三个参数的含义同getCurrentPosition( )一致,不再赘述。watchPosition( )方法返回一个ID,若需取消监听则可通过 Geolocation.clearWatch( ) 传入该ID实现取消

  • clearWatch(watchID) 终止监听

在了解Geolocation之后,我们就来动手实现定位,请看如下示例:

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title>navigator</title></head><body>    <script>    if (navigator.geolocation) {        navigator.geolocation.getCurrentPosition(successCallback, errorCallback, options);    } else {        alert("您的浏览器不支持地理定位");    }    // 获取地理位置成功的回调函数    function successCallback(position) {        var longitude = position.coords.longitude;        var latitude = position.coords.latitude;        var timestamp= position.timestamp;        alert("timestamp="+timestamp+",经度=" + longitude + ",纬度=" + latitude);    }    // 获取地理位置失败的回调函数    function errorCallback(error) {        alert(error.code+" "+ error.message);    }    // 额外信息    var options={        timeout:2000    };    </script></body></html>

运行后效果图如下所示:

这里写图片描述

在该示例里,我们在定位成功的回调函数中获取了当前的经度、纬度、获取成功时的时间戳。但是请注意,在使用Geolocation之前最好先判断当前设备是否支持定位,毕竟有的浏览器对于HTML5支持得不够好。

阅读全文
0 0
原创粉丝点击