9.3  使用getCurrentPosition()方法

9.3 使用getCurrentPosition()方法

在HTML 5网页应用中,使用getCurrentPosition()方法也可以获取地理位置信息。

下面通过一个实例讲解使用getCurrentPosition()方法获取地理位置信息的方法。

978-7-111-53392-4-Part03-138.jpg

在本实例的HTML页面中,调用方法getCurrentPosition()成功获取当前浏览器的地理位置,并将获取的位置信息展示在页面的<p>元素中。实例文件2.html的实现代码如下。

978-7-111-53392-4-Part03-139.jpg

编写脚本文件js2.js,当使用方法getCurrentPosition()成功获取地理位置数据后,可以回调函数successCallback()。解析对象参数objPos,如果需要展示获取时间,则调用该对象的“timestamp”属性。如果需要展示地理位置数据,则通过对象的“coords”各个属性值来显示。文件js2.js的代码如下。

978-7-111-53392-4-Part03-140.jpg

978-7-111-53392-4-Part03-141.jpg

因为各浏览器对Geolocation API支持的情况不同,所以同一代码在两个不同浏览器中执行会返回的结果会出现一些偏差或对某些属性不支持,如Firefox 5.0中支持显示地理位置所在的国家、省份、城市等信息,而Chrome 10浏览器则不支持。

此外,如果需要持续监测当前的地理位置,可以调用以下方法:

978-7-111-53392-4-Part03-142.jpg

其中的参数与getCurrentPosition()方法一样,但该方法还返回一个“intWatchID”值,用于停止持续监测的操作。如果需要停止持续监测,则调用如下方法:

978-7-111-53392-4-Part03-143.jpg

此方法通过清除持续监测时返回的intWatchID值,实现停止持续监测的功能。